DateTime

Struct to store date, time and timezone information altogether. GstDateTime is refcounted and immutable.

Date information is handled using the proleptic Gregorian calendar.

Provides basic creation functions and accessor functions to its fields.

Constructors

this
this(GstDateTime* gstDateTime)

Sets our main struct and passes it to the parent class

this
this(bool utc)

Creates a new GstDateTime representing the current date and time.

this
this(long secs, bool utc)

Creates a new GstDateTime using the time since Jan 1, 1970 specified by secs.

this
this(float tzoffset, int year, int month, int day, int hour, int minute, double seconds)

Creates a new GstDateTime using the date and times in the gregorian calendar in the supplied timezone. year should be from 1 to 9999, month should be from 1 to 12, day from 1 to 31, hour from 0 to 23, minutes and seconds from 0 to 59. Note that tzoffset is a float and was chosen so for being able to handle some fractional timezones, while it still keeps the readability of represeting it in hours for most timezones. If value is -1 then all over value will be ignored. For example if month == -1, then GstDateTime will created only for year. If day == -1, then GstDateTime will created for year and month and so on. Free-function: gst_date_time_unref

this
this(int year, int month, int day)

Creates a new GstDateTime using the date and times in the gregorian calendar in the local timezone. year should be from 1 to 9999, month should be from 1 to 12, day from 1 to 31. If value is -1 then all over value will be ignored. For example if month == -1, then GstDateTime will created only for year. If day == -1, then GstDateTime will created for year and month and so on. Free-function: gst_date_time_unref

this
this(int year, int month)

Creates a new GstDateTime using the date and times in the gregorian calendar in the local timezone. year should be from 1 to 9999, month should be from 1 to 12. If value is -1 then all over value will be ignored. For example if month == -1, then GstDateTime will created only for year. Free-function: gst_date_time_unref

this
this(int year)

Creates a new GstDateTime using the date and times in the gregorian calendar in the local timezone. year should be from 1 to 9999. Free-function: gst_date_time_unref

this
this(int year, int month, int day, int hour, int minute, double seconds)

Creates a new GstDateTime using the date and times in the gregorian calendar in the local timezone. year should be from 1 to 9999, month should be from 1 to 12, day from 1 to 31, hour from 0 to 23, minutes and seconds from 0 to 59. If month is -1, then the GstDateTime created will only contain year, and all other fields will be considered not set. If day is -1, then the GstDateTime created will only contain year and month and all other fields will be considered not set. If hour is -1, then the GstDateTime created will only contain year and month and day, and the time fields will be considered not set. In this case minute and seconds should also be -1. Free-function: gst_date_time_unref

this
this(string string)

Tries to parse common variants of ISO-8601 datetime strings into a GstDateTime. Free-function: gst_date_time_unref

this
this(GDateTime* dt)

Creates a new GstDateTime from a GDateTime object. Free-function: gst_date_time_unref

Members

Functions

doref
DateTime doref()

Atomically increments the reference count of datetime by one.

getDateTimeStruct
GstDateTime* getDateTimeStruct()
Undocumented in source. Be warned that the author may not have intended to support it.
getDay
int getDay()

Returns the day of the month of this GstDateTime. Call gst_date_time_has_day before, to avoid warnings.

getHour
int getHour()

Retrieves the hour of the day represented by datetime in the gregorian calendar. The return is in the range of 0 to 23. Call gst_date_time_has_haur before, to avoid warnings.

getMicrosecond
int getMicrosecond()

Retrieves the fractional part of the seconds in microseconds represented by datetime in the gregorian calendar.

getMinute
int getMinute()

Retrieves the minute of the hour represented by datetime in the gregorian calendar. Call gst_date_time_has_minute before, to avoid warnings.

getMonth
int getMonth()

Returns the month of this GstDateTime. January is 1, February is 2, etc.. Call gst_date_time_has_month before, to avoid warnings.

getSecond
int getSecond()

Retrieves the second of the minute represented by datetime in the gregorian calendar. Call gst_date_time_has_second before, to avoid warnings.

getStruct
void* getStruct()

the main Gtk struct as a void*

getTimeZoneOffset
float getTimeZoneOffset()

Retrieves the offset from UTC in hours that the timezone specified by datetime represents. Timezones ahead (to the east) of UTC have positive values, timezones before (to the west) of UTC have negative values. If datetime represents UTC time, then the offset is zero.

getYear
int getYear()

Returns the year of this GstDateTime Call gst_date_time_has_year before, to avoid warnings.

hasDay
int hasDay()
hasMonth
int hasMonth()
hasSecond
int hasSecond()
hasTime
int hasTime()
hasYear
int hasYear()
toGDateTime
GDateTime* toGDateTime()

Creates a new GDateTime from a fully defined GstDateTime object. Free-function: g_date_time_unref

toIso8601_String
string toIso8601_String()

Create a minimal string compatible with ISO-8601. Possible output formats are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z, 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100

unref
void unref()

Atomically decrements the reference count of datetime by one. When the reference count reaches zero, the structure is freed.

Variables

gstDateTime
GstDateTime* gstDateTime;

the main Gtk struct

Meta