PosixDate¶
Represents a proleptic Gregorian date and time, without specifying a time zone. The day of month and month are indexed from 1 (January is 1). day_of_week follows C's tm_wday convention (0=Sunday through 6=Saturday). day_of_year follows C's tm_yday convention (0-based, January 1 is 0).
The representable range starts at 1970-01-01 00:00:00. The upper bound
depends on the platform's gmtime implementation: year 3000 on Windows,
year 2147483647 elsewhere. Arguments that fall outside this range are
clamped: negative values are treated as zero, and values beyond the
maximum representable date are treated as the maximum.
Constructors¶
create¶
Create a date from a POSIX time. Negative arguments are clamped to zero. Combined values beyond year 2147483647 are clamped to the maximum representable date.
Parameters¶
Returns¶
- PosixDate ref^
Public fields¶
var nsec: I32 val¶
var sec: I32 val¶
var min: I32 val¶
var hour: I32 val¶
var day_of_month: I32 val¶
var month: I32 val¶
var year: I32 val¶
var day_of_week: I32 val¶
var day_of_year: I32 val¶
Public Functions¶
time¶
Return a POSIX time. Treats the date as UTC.
Returns¶
- I64 val
normal¶
Normalise all the fields of the date. For example, if the hour is 24, it is set to 0 and the day is advanced. This allows fields to be changed naively, eg. adding 1000 to hours to advance the time by 1000 hours, and then normalising the date.
Returns¶
- None val
format¶
Format the time as for strftime.
Parameters¶
- fmt: String val
Returns¶
- String val ?