View source code
Display the source code in std/datetime/date.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Struct std.datetime.date.Date
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.
struct Date
;
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.
Constructors
Name | Description |
---|---|
this
(year, month, day)
|
|
this
(day)
|
Properties
Name | Type | Description |
---|---|---|
day [get]
|
ubyte | Day of a Gregorian Month. |
day [set]
|
int | Day of a Gregorian Month. |
dayOfGregorianCal [get]
|
int | The Xth day of the Gregorian Calendar that this Date is on.
|
dayOfGregorianCal [set]
|
int | The Xth day of the Gregorian Calendar that this Date is on.
|
dayOfWeek [get]
|
DayOfWeek | Day of the week this Date is on.
|
dayOfYear [get]
|
ushort | Day of the year this Date is on.
|
dayOfYear [set]
|
int | Day of the year. |
daysInMonth [get]
|
ubyte | The last day in the month that this Date is in.
|
endOfMonth [get]
|
Date | Date for the last day in the month that this Date is in.
|
isAD [get]
|
bool | Whether the current year is a date in A.D. |
isLeapYear [get]
|
bool | Whether this Date is in a leap year.
|
isoWeek [get]
|
ubyte | The ISO 8601 week of the year that this Date is in.
|
isoWeekYear [get]
|
short | The year inside the ISO 8601 week calendar that this Date is in.
|
julianDay [get]
|
long | The Julian day for this
Date at noon (since the Julian day changes at noon).
|
max [get]
|
Date | Returns the Date farthest in the future which is representable
by Date .
|
min [get]
|
Date | Returns the Date farthest in the past which is representable by
Date .
|
modJulianDay [get]
|
long | The modified Julian day for any time on this date (since, the modified Julian day changes at midnight). |
month [get]
|
Month | Month of a Gregorian Year. |
month [set]
|
Month | Month of a Gregorian Year. |
year [get]
|
short | Year of the Gregorian Calendar. Positive numbers are A.D. Non-positive are B.C. |
year [set]
|
int | Year of the Gregorian Calendar. Positive numbers are A.D. Non-positive are B.C. |
yearBC [get]
|
ushort | Year B.C. of the Gregorian Calendar counting year 0 as 1 B.C. |
yearBC [set]
|
int | Year B.C. of the Gregorian Calendar counting year 0 as 1 B.C. |
Methods
Name | Description |
---|---|
add
(value, allowOverflow)
|
Adds the given number of years or months to this Date , mutating
it. A negative number will subtract.
|
diffMonths
(rhs)
|
Returns the difference between the two Date s in months.
|
fromISOExtString
(isoExtString)
|
Creates a Date from a string with the format YYYY-MM-DD.
Whitespace is stripped from the given string.
|
fromISOString
(isoString)
|
Creates a Date from a string with the format YYYYMMDD. Whitespace
is stripped from the given string.
|
fromSimpleString
(simpleString)
|
Creates a Date from a string with the format YYYY-Mon-DD.
Whitespace is stripped from the given string.
|
isoWeekAndYear
()
|
The ISO 8601 week and year of the year that this Date is in.
|
opBinary
(duration)
|
Gives the result of adding or subtracting a Duration
from
|
opBinary
(rhs)
|
Gives the difference between two Date s.
|
opCmp
(rhs)
|
Compares this Date with the given Date .
|
opOpAssign
(duration)
|
Gives the result of adding or subtracting a Duration
from this Date , as well as assigning the result to this
Date .
|
roll
(value, allowOverflow)
|
Adds the given number of years or months to this Date , mutating
it. A negative number will subtract.
|
roll
(days)
|
Adds the given number of units to this Date , mutating it. A
negative number will subtract.
|
toISOExtString
()
|
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.
|
toISOString
()
|
Converts this Date to a string with the format YYYYMMDD .
If writer is set, the resulting string will be written directly
to it.
|
toSimpleString
()
|
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.
|
toString
()
|
Converts this Date to a string.
|
Example
import core .time : days;
auto d = Date(2000, 6, 1);
writeln(d .dayOfYear); // 153
writeln(d .dayOfWeek); // DayOfWeek.thu
d += 10 .days;
writeln(d); // Date(2000, 6, 11)
writeln(d .toISOExtString()); // "2000-06-11"
writeln(d .toISOString()); // "20000611"
writeln(d .toSimpleString()); // "2000-Jun-11"
writeln(Date .fromISOExtString("2018-01-01")); // Date(2018, 1, 1)
writeln(Date .fromISOString("20180101")); // Date(2018, 1, 1)
writeln(Date .fromSimpleString("2018-Jan-01")); // Date(2018, 1, 1)
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.