Adds the given number of years or months to this Date, mutating it. A negative number will subtract.
Returns the difference between the two Dates in months.
Gives the result of adding or subtracting a core.time.Duration from
Gives the difference between two Dates.
Gives the result of adding or subtracting a core.time.Duration from this Date, as well as assigning the result to this Date.
Adds the given number of years or months to this Date, mutating it. A negative number will subtract.
Adds the given number of units to this Date, mutating it. A negative number will subtract.
Converts this Date to a string with the format YYYY-MM-DD. If writer is set, the resulting string will be written directly to it.
Converts this Date to a string with the format YYYYMMDD. If writer is set, the resulting string will be written directly to it.
Converts this Date to a string with the format YYYY-Mon-DD. If writer is set, the resulting string will be written directly to it.
Converts this Date to a string.
Day of a Gregorian Month.
Day of a Gregorian Month.
The Xth day of the Gregorian Calendar that this Date is on.
The Xth day of the Gregorian Calendar that this Date is on.
Day of the week this Date is on.
Day of the year this Date is on.
Day of the year.
The last day in the month that this Date is in.
Whether the current year is a date in A.D.
Whether this Date is in a leap year.
The ISO 8601 week of the year that this Date is in.
The ISO 8601 week and year of the year that this Date is in.
The year inside the ISO 8601 week calendar that this Date is in.
The Julian day for this Date at noon (since the Julian day changes at noon).
The modified Julian day for any time on this date (since, the modified Julian day changes at midnight).
Month of a Gregorian Year.
Month of a Gregorian Year.
Year of the Gregorian Calendar. Positive numbers are A.D. Non-positive are B.C.
Year of the Gregorian Calendar. Positive numbers are A.D. Non-positive are B.C.
Year B.C. of the Gregorian Calendar counting year 0 as 1 B.C.
Year B.C. of the Gregorian Calendar counting year 0 as 1 B.C.
Creates a Date from a string with the format YYYY-MM-DD. Whitespace is stripped from the given string.
Creates a Date from a string with the format YYYYMMDD. Whitespace is stripped from the given string.
Creates a Date from a string with the format YYYY-Mon-DD. Whitespace is stripped from the given string.
Represents a duration of time of weeks or less (kept internally as hnsecs). (e.g. 22 days or 700 seconds).
import core.time : days; auto d = Date(2000, 6, 1); assert(d.dayOfYear == 153); assert(d.dayOfWeek == DayOfWeek.thu); d += 10.days; assert(d == Date(2000, 6, 11)); assert(d.toISOExtString() == "2000-06-11"); assert(d.toISOString() == "20000611"); assert(d.toSimpleString() == "2000-Jun-11"); assert(Date.fromISOExtString("2018-01-01") == Date(2018, 1, 1)); assert(Date.fromISOString("20180101") == Date(2018, 1, 1)); assert(Date.fromSimpleString("2018-Jan-01") == Date(2018, 1, 1));
Represents a date in the Proleptic Gregorian Calendar ranging from 32,768 B.C. to 32,767 A.D. Positive years are A.D. Non-positive years are B.C.
Year, month, and day are kept separately internally so that Date is optimized for calendar-based operations.
Date uses the Proleptic Gregorian Calendar, so it assumes the Gregorian leap year calculations for its entire length. As per ISO 8601, it treats 1 B.C. as year 0, i.e. 1 B.C. is 0, 2 B.C. is -1, etc. Use yearBC to use B.C. as a positive integer with 1 B.C. being the year prior to 1 A.D.
Year 0 is a leap year.