quinta, 04 de dezembro de 2008

Datejs: facilitando o uso de datas em Javascript

Escrito por: Alberto

Ontem eu estava no blog do John Resig vendo o que ele anda fazendo com Javascript e tinha um post de uma brincadeira que ele fez com a parte de datas. Por exemplo, você chama 

prettyDate("2008-12-03T20:24:17Z")

 e a resposta é “Yesterday”. Eu acho isso muito legal no sentido que fica mais próximo da linguagem real do usuário.

Pois bem, nos comentários do post foi indicado o Datejs, uma api que usa uma DSL para facilitar a construção de datas em Javascript. Aqui vai um exemplo retirado do próprio site. 


// What date is next thrusday?
Date.today().next().thursday();

// Add 3 days to Today
Date.today().add(3).days();

// Is today Friday?
Date.today().is().friday();

// Number fun
(3).days().ago();
// 6 months from now
var n = 6;
n.months().fromNow();

// Set to 8:30 AM on the 15th day of the month
Date.today().set({ day: 15, hour: 8, minute: 30 });

// Convert text into Date
Date.parse(‘today’);
Date.parse(‘t + 5 d’); // today + 5 days
Date.parse(‘next thursday’);
Date.parse(‘February 20th 1973′);
Date.parse(‘Thu, 1 July 2004 22:30:00′);

Um site que utiliza bastante este recurso é o Remember the milk e, particularmente, eu acho bem interessante.  Outra coisa legal é a parte de testes que eles fizeram


Date.Specification = new Specification({

  'Overview': {

    setup: function() {  this.baseline = new Date('7/8/2004') },

    'July 8th, 2004 : Typical': {

      run: function() { this.date = Date.parse('July 8th, 2004') },

      assert: function() { return this.baseline.equals( this.date ) }

    },

    'jul-08-04 : Abbreviated': {

      run: function() { this.date = Date.parse('jul-8-04') },

      assert: function() { return this.baseline.equals( this.date ) }

    },

    '07/08/04 : Numeric': {

      run: function() { this.date = Date.parse('07/08/04') },

      assert: function() { return this.baseline.equals( this.date ) }

    }

) 

Não sei a opinião de vocês, mas eu não gosto muito do tratamento de datas em Javascript e essa biblioteca fornece uma boa ajuda. Espero que gostem e façam bom proveito impressionando seus usuários :)

tags:

2 Comentários para " Datejs: facilitando o uso de datas em Javascript "

  • Vinícius Araújo

    04-12-2008 às 10:51:16

    Achei o componente muito interessante. Bastante intuitivo. Imagino que resolva completamente o problema de manipulação de datas em Javascript. Eu usava uma API mais simples que usa o padrão do SimpleDateFormat do Java (Eu falei dela neste post) mas essa API que você apresentou é muito mais elaborada. Será que já não existe um componente para jquery pra selecionar datas usando essa API?

  • Alberto

    04-12-2008 às 11:31:13

    Então Vinícius, se fizer o download vai ver que ele já integra!!!! Aí que fica show de bola mesmo!


Deixe seu Comentários

  (obrigatório)

  (obrigatório) - (não é publicado)



newsletter

cadastre seu e-mail!  

últimas do twitter

» siga a settech no twitter

swTV

 


Atuando no mercado desde 1999, a SetWeb conta com um time de profissionais que busca soluções adequadas e eficazes para a sua empresa. Aliando estratégia à tecnologia, a SetWeb possui como foco principal o resultado de ações implementadas para cada negócio.
Esse é o nosso compromisso e o nosso desafio.