D Programming Language 2.0

- Comments
- D
- Search
- Home

Last update Tue Oct 16 09:58:54 2007

# std.date

Dates are represented in several formats. The date implementation revolves around a central type, d_time, from which other formats are converted to and from. Dates are calculated using the Gregorian calendar.
References:
Gregorian calendar (Wikipedia)

alias d_time;
  d_time is a signed arithmetic type giving the time elapsed since January 1, 1970. Negative values are for dates preceding 1970. The time unit used is Ticks. Ticks are milliseconds or smaller intervals.
  The usual arithmetic operations can be performed on d_time, such as adding, subtracting, etc. Elapsed time in Ticks can be computed by subtracting a starting d_time from an ending d_time.
const long d_time_nan;
  A value for d_time that does not represent a valid time.
struct Date;
  Time broken down into its components.
  int year;
    use int.min as "nan" year value
  int month;
    1..12
  int day;
    1..31
  int hour;
    0..23
  int minute;
    0..59
  int second;
    0..59
  int ms;
    0..999
  int weekday;
    0: not specified, 1..7: Sunday..Saturday
  int tzcorrection;
    -1200..1200 correction in hours
  void parse(invariant(char)[] s);
    Parse date out of string s[] and store it in this Date instance.
TicksPerSecond
  Will be at least 1000
void toISO8601YearWeek(long t, out int year, out int week);
  Compute year and week [1..53] from t. The ISO 8601 week 1 is the first week of the year that includes January 4. Monday is the first day of the week.
  References:
  ISO 8601 (Wikipedia)
int YearFromTime(long t);
  Calculates the year from the d_time t.
int inLeapYear(long t);
  Determines if d_time t is a leap year.
  A leap year is every 4 years except years ending in 00 that are not divsible by 400.
  Returns:
  !=0 if it is a leap year.
  References:
  Wikipedia
int MonthFromTime(long t);
  Calculates the month from the d_time t.
  Returns:
  Integer in the range 0..11, where 0 represents January and 11 represents December.
int DateFromTime(long t);
  Compute which day in a month a d_time t is.
  Returns:
  Integer in the range 1..31
int WeekDay(long t);
  Compute which day of the week a d_time t is.
  Returns:
  Integer in the range 0..6, where 0 represents Sunday and 6 represents Saturday.
long UTCtoLocalTime(long t);
  Convert from UTC to local time.
long LocalTimetoUTC(long t);
  Convert from local time to UTC.
invariant(char)[] toString(long time);
  Converts UTC time into a text string of the form: "Www Mmm dd hh:mm:ss GMT+-TZ yyyy". For example, "Tue Apr 02 02:04:57 GMT-0800 1996". If time is invalid, i.e. is d_time_nan, the string "Invalid date" is returned.
  Example:

        d_time lNow;
        char[] lNowString;

        // Grab the date and time relative to UTC
        lNow = std.date.getUTCtime();
        // Convert this into the local date and time for display.
        lNowString = std.date.toString(lNow);

invariant(char)[] toUTCString(long t);
  Converts t into a text string of the form: "Www, dd Mmm yyyy hh:mm:ss UTC". If t is invalid, "Invalid date" is returned.
invariant(char)[] toDateString(long time);
  Converts the date portion of time into a text string of the form: "Www Mmm dd yyyy", for example, "Tue Apr 02 1996". If time is invalid, "Invalid date" is returned.
invariant(char)[] toTimeString(long time);
  Converts the time portion of t into a text string of the form: "hh:mm:ss GMT+-TZ", for example, "02:04:57 GMT-0800". If t is invalid, "Invalid date" is returned. The input must be in UTC, and the output is in local time.
long parse(invariant(char)[] s);
  Parses s as a textual date string, and returns it as a d_time. If the string is not a valid date, d_time_nan is returned.
long getUTCtime();
  Get current UTC time.
typedef DosFileTime;
  Type representing the DOS file date/time format.
long toDtime(DosFileTime time);
  Convert from DOS file date/time to d_time.
DosFileTime toDosFileTime(long t);
  Convert from d_time to DOS file date/time.

Copyright © 1999-2007 by Digital Mars, All Rights Reserved | Page generated by Ddoc.