Date represents a day in time independent of a timezone.
Slots
- compareSource
-
Overrides sys::Obj.compare
Compare based on year, month, and day.
- daySource
-
Int day()
Get the day of the month as a number between 1 and 31.
- dayOfYearSource
-
Int dayOfYear()
Return the day of the year as a number between 1 and 365 (or 1 to 366 if a leap year).
- defValSource
-
static Date defVal
Default value is "2000-01-01".
- equalsSource
-
override Bool equals(Obj? that)
Overrides sys::Obj.equals
Two dates are equal if have the same year, month, and day.
- fromIsoSource
-
static Date? fromIso(Str s, Bool checked := true)
Parse an ISO 8601 date. If invalid format and checked is false return null, otherwise throw ParseErr. The following format is supported:
YYYY-MM-DD
- fromStrSource
-
static Date? fromStr(Str s, Bool checked := true)
Parse the string into a Date from the programmatic encoding defined by toStr. If the string cannot be parsed into a valid Date and checked is false then return null, otherwise throw ParseErr.
- hashSource
-
override Int hash()
Overrides sys::Obj.hash
Return hash of year, month, and day.
- makeSource
-
static Date make(Int year, Month month, Int day)
Make for the specified date values:
- year: no restriction (although only 1901-2099 maps to DateTime)
- month: Month enumeration
- day: 1-31
Throw ArgErr is any of the parameters are out of range.
- midnightSource
-
DateTime midnight(TimeZone tz := TimeZone.current())
Return a DateTime for the beginning of the this day at midnight.
- minusSource
-
Return the delta between this and the given date. The result is always an exact multiple of 24 hour days. If you wish to subtract a Duration, use the plus method with a negative duration.
Example:
Date(2009, Month.jan, 5) - Date(2009, Month.jan, 2) => 3day
- monthSource
-
Month month()
Get the month of this date.
- plusSource
-
Add the specified number of days to this date to get a date in the future. Throw ArgErr if
days
parameter it not an even number of days.Example:
Date(2008, Month.feb, 28) + 2day => 2008-03-01
-
new privateMake()
Private constructor.
- toCodeSource
-
Str toCode()
Get this Date as a Fan expression suitable for code generation.
- toDateTimeSource
-
DateTime toDateTime(Time t, TimeZone tz := TimeZone.current())
Combine this Date with the given Time to return a DateTime.
- toIsoSource
-
Str toIso()
Format this instance according to ISO 8601 using the pattern:
YYYY-MM-DD
- toLocaleSource
-
Str toLocale(Str? pattern := null)
Format this date according to the specified pattern. If pattern is null, then a localized default is used. The pattern format is the same as
DateTime.toLocale
:YY Two digit year 07 YYYY Four digit year 2007 M One/two digit month 6, 11 MM Two digit month 06, 11 MMM Three letter abbr month Jun, Nov MMMM Full month June, November D One/two digit day 5, 28 DD Two digit day 05, 28 WWW Three letter abbr weekday Tue WWWW Full weekday Tuesday 'xyz' Literal characters
- toStrSource
-
override Str toStr()
Overrides sys::Obj.toStr
Return programmatic ISO 8601 string encoding formatted as follows:
YYYY-MM-DD 2009-01-10
- todaySource
-
static Date today()
Get today's Date using default timezone.
- weekdaySource
-
Weekday weekday()
Get the day of the week for this date.
- yearSource
-
Int year()
Get the year as a number such as 2009.