Hallo allerseits,

ich verwende die Funktion Time::utc, um aus day, month, year einen
Datumswert zu erzeugen. Beim 29. Februar der Jahre 1900 u. 2003 (beides
keine Schaltjahre) verhält sich utc unterschiedlich:
29.2.1900: -> Ausnahme
29.2.2003: -> 1.3.2003 !!!

Hier der Source, mit dem ich getestet habe
(ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32])
def CheckLeapYear(y, m, d)
  begin
    datum = Time.utc(y, m, d)
  rescue
    puts y.to_s + '-' + m.to_s + '-' + d.to_s + ' is not valid.'
  else
    puts y.to_s + '-' + m.to_s + '-' + d.to_s + ' -> ' + datum.to_s
  end
end
CheckLeapYear(1900, 2, 29)
CheckLeapYear(2003, 2, 29)

Hier das Ergebnis:
1900-2-29 is not valid.
2003-2-29 -> Sat Mar 01 00:00:00 UTC 2003

Kann das jemand erklären ?


Joachim
-- 
Posted via http://www.ruby-forum.com/.
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an