Appunti di Matteo


Date dinamiche in un sito statico

Come già detto precedentemente questo è un sito statico. (fatto con il fantastico webby)

Come avere le date relative:


In un sito statico?

La risposta me l’ha suggerita il buon dhh in un suo twitter .
Ma purtroppo lo snippet di codice js che ha postato a me non funziona, quindi eccone una versione modificata da me (apparentemente) funzionante.

 
 var DateHelper = {
   // Takes the format of "Jan 15, 2007 15:45:00 GMT" and converts it to a relative time
   // Ruby strftime: %b %d, %Y %H:%M:%S GMT
   time_ago_in_words_with_parsing: function(from) {
     var date = new Date;
     date.setTime(Date.parse(from));
     return this.time_ago_in_words(date);
   },

   time_ago_in_words: function(from) {
     return this.distance_of_time_in_words(new Date, from);
   },

   distance_of_time_in_words: function(to, from) {
     var distance_in_seconds = ((to - from) / 1000);
     var distance_in_minutes = (distance_in_seconds / 60);

     if (distance_in_minutes == 0) { return 'meno di un minuto fa'; }
     if (distance_in_minutes == 1) { return 'un minuti fa'; }
     if (distance_in_minutes < 45) { return distance_in_minutes + ' minuti fa'; }
     if (distance_in_minutes < 90) { return 'circa un ora fa'; }
     if (distance_in_minutes < 1440) { return 'circa ' + parseInt((distance_in_minutes / 60))+ ' ore fa'; }
     if (distance_in_minutes < 2880) { return '1 day ago'; }
     if (distance_in_minutes < 43200) { return parseInt((distance_in_minutes / 1440))+ ' giorni fa'; }
     if (distance_in_minutes < 86400) { return 'circa 1 mese fa'; }
     if (distance_in_minutes < 525960) { return parseInt((distance_in_minutes / 43200))+ ' mesi fa'; }
     if (distance_in_minutes < 1051199) { return 'circa 1 anno fa'; }

     return parseInt((distance_in_minutes / 525960)) + ' anni fa';
   }
 };

Dovreste arrivarci da soli a come usarla, ma dato che in questo periodo mi sento particolarmente buono, vi do’ il permesso di leggere direttamente il codice js del mio sito.



teo: Feb 16, 2009 00:00:00 GMT
tags: jquery, html
blog comments powered by Disqus
Ultimi post


Tags



Progetti su github


Curriculum

matteo parmiLa mia fantastica ed entusiasmante carriera professionale. Curriculum via googledocs, aggiornato a bassa frequenza.


fatto con: webby, blueprint css e jquery