DateTime + 1 ora

Ciao,
se sommo un’ora (=1/24 di giorno) ad un DateTime sembra che mi perda un
secondo (almeno la prima volta):

require ‘date’
dt = DateTime.new(2009, 1, 1)
(0…5).each do |k|
puts dt.strftime("%Y-%m-%d %H:%M:%S")
dt+=1.0/24
end

Result:
2009-01-01 00:00:00
2009-01-01 00:59:59
2009-01-01 01:59:59
2009-01-01 02:59:59
2009-01-01 03:59:59

E’ un baco o sbaglio qualcosa?
C’è magari un altro metodo ad hoc?

Grazie, saluti
i.

Sorry, mi rispondo da solo.

Invece di sommare numeri con la virgola, è più opportuno sommare numeri
razionali. Per aggiungere un’ora:
DateTime.new(2009,1,1)+Rational(1,24)

Aloha,
i.

Il 07 ottobre 2009 14.00, Iwan B. [email protected] ha scritto:

Sorry, mi rispondo da solo.

Invece di sommare numeri con la virgola, è più opportuno sommare numeri
razionali. Per aggiungere un’ora:
DateTime.new(2009,1,1)+Rational(1,24)

In Rails (in particolare nella gemma activesupport) viene aggiunta
tutta una serie di metodi a Numeric, per permettere di scrivere cose
come 1.hours.ago, 3.hours + 4.minutes oppure 5.days.from_now, che
fanno storcere il naso a molti puristi ma sono di grande comodità
(oltre che divertenti da leggere).

Magari t’interessa darci un’occhiata.

pietro

Pietro G. wrote:

Il 07 ottobre 2009 14.00, Iwan B. [email protected] ha scritto:

Sorry, mi rispondo da solo.

Invece di sommare numeri con la virgola, è più opportuno sommare numeri
razionali. Per aggiungere un’ora:
DateTime.new(2009,1,1)+Rational(1,24)

Grazie Iwan, bella dritta!

In Rails (in particolare nella gemma activesupport) viene aggiunta
tutta una serie di metodi a Numeric, per permettere di scrivere cose
come 1.hours.ago,

E si può pure scrivere 1.hour.ago per non aver problemi di plurale. Si
devono proprio esser divertiti a scrivere quella gemma :slight_smile:

3.hours + 4.minutes oppure 5.days.from_now, che
fanno storcere il naso a molti puristi ma sono di grande comoditÃ
(oltre che divertenti da leggere).

E fanno ammattire quando poi scrivi in Ruby senza Rails e non li hai a
disposizione. Sembra che manchi qualcosa dal linguaggio…

Paolo

E fanno ammattire quando poi scrivi in Ruby senza Rails e non li hai a
disposizione. Sembra che manchi qualcosa dal linguaggio…

require ‘rubygems’
require ‘activesupport’

:wink:


Simone C.

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Nick: weppos | Skype: weppos

Il 07 ottobre 2009 17.36, Paolo M. [email protected] ha
scritto:

Il che ci riporterebbe alla thread di qualche giorno fa sul se sia
meglio iniziare da Ruby o da Rails…

meglio partire con ruby e implementarsi da soli queste cose! :slight_smile:

una delle prime cose che ho visto di ruby era un contest sul tema 99
bottiglie di birra sul muro (99-bottles-of-beer.net), e mi aveva
colpito una versione in cui si scriveva una cosa tipo:

99.bottles :of => :beer
98.bottles :of => :beer

o qualcosa del genere…

pietro

Simone C. wrote:

E fanno ammattire quando poi scrivi in Ruby senza Rails e non li hai a
disposizione. Sembra che manchi qualcosa dal linguaggio…

require ‘rubygems’
require ‘activesupport’

:wink:

Sì lo so, ma la sorpresa fu tanta quando mi capitò la prima volta e mi
resi conto che quei metodi non erano del linguaggio.

Il che ci riporterebbe alla thread di qualche giorno fa sul se sia
meglio iniziare da Ruby o da Rails…

Paolo


Simone C.

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Nick: weppos | Skype: weppos

L’avevo visto qualche tempo fà … non l’avevo mai eseguito però… perl è
veramente magggggico :slight_smile:

Paolo M. wrote:

Le versioni in Ruby sono linkate a
http://99-bottles-of-beer.net/language-ruby-670.html
Quella di cui scrivi forse è nei commenti di una di loro.

Per quanto mi piaccia Ruby devo però concedere che come al solito Perl è
magico.
Provate ad eseguire 99 Bottles of Beer | Language Perl
e ve ne accorgerete!

Paolo

Le versioni in Ruby sono linkate a

Quella di cui scrivi forse è nei commenti di una di loro.

Per quanto mi piaccia Ruby devo però concedere che come al solito Perl è
magico.
Provate ad eseguire 99 Bottles of Beer | Language Perl
e ve ne accorgerete!

Paolo

Pietro G. wrote:

Il 07 ottobre 2009 17.36, Paolo M. [email protected] ha
scritto:

Il che ci riporterebbe alla thread di qualche giorno fa sul se sia
meglio iniziare da Ruby o da Rails…

meglio partire con ruby e implementarsi da soli queste cose! :slight_smile:

una delle prime cose che ho visto di ruby era un contest sul tema 99
bottiglie di birra sul muro (99-bottles-of-beer.net), e mi aveva
colpito una versione in cui si scriveva una cosa tipo:

99.bottles :of => :beer
98.bottles :of => :beer

o qualcosa del genere…

pietro