format.rb: Written by Tadayoshi Funaba 1999-2008 $Id: format.rb,v 2.43 2008-01-17 20:16:31+09 tadf Exp $
Class representing a date.
See the documentation to the file date.rb for an overview.
Internally, the date is represented as an Astronomical Julian Day Number, ajd. The Day of Calendar Reform, sg, is also stored, for conversions to other date formats. (There is also an of field for a time zone offset, but this is only for the use of the DateTime subclass.)
A new Date object is created using one of the object creation class methods named after the corresponding date format, and the arguments appropriate to that date format; for instance, Date::civil() (aliased to Date::new()) with year, month, and day-of-month, or Date::ordinal() with year and day-of-year. All of these object creation class methods also take the Day of Calendar Reform as an optional argument.
Once a Date has been created, date values can be retrieved for the different date formats supported using instance methods. For instance, #mon() gives the Civil month, #cwday() gives the Commercial day of the week, and #yday() gives the Ordinal day of the year. Date values can be retrieved in any format, regardless of what format was used to create the Date instance.
ENGLAND = 2361222
MONTHNAMES = [nil] + %w(January February March April May June July August September October November December)
DAYNAMES = %w(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)
ABBR_MONTHNAMES = [nil] + %w(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
ABBR_DAYNAMES = %w(Sun Mon Tue Wed Thu Fri Sat)
ITALY = 2299161
JULIAN = Infinity.new
GREGORIAN = -Infinity.new
HALF_DAYS_IN_DAY = Rational(1, 2)
HOURS_IN_DAY = Rational(1, 24)
MINUTES_IN_DAY = Rational(1, 1440)
SECONDS_IN_DAY = Rational(1, 86400)
MILLISECONDS_IN_DAY = Rational(1, 86400*10**3)
NANOSECONDS_IN_DAY = Rational(1, 86400*10**9)
MILLISECONDS_IN_SECOND = Rational(1, 10**3)
NANOSECONDS_IN_SECOND = Rational(1, 10**9)
MJD_EPOCH_IN_AJD = Rational(4800001, 2)
UNIX_EPOCH_IN_AJD = Rational(4881175, 2)
MJD_EPOCH_IN_CJD = 2400001
UNIX_EPOCH_IN_CJD = 2440588
LD_EPOCH_IN_CJD = 2299160
lib/date/format.rb lib/date.rb lib/yaml/rubytypes.rb ext/json/lib/json/add/core.rb