#[repr(transparent)]
pub struct DateTime { /* private fields */ }
Expand description

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

Date information is handled using the proleptic Gregorian calendar.

Provides basic creation functions and accessor functions to its fields.

Implementations

Creates a new DateTime from a glib::DateTime object.

dt

the glib::DateTime.

Returns

a newly created DateTime, or None if dt is None.

Tries to parse common variants of ISO-8601 datetime strings into a DateTime. Possible input formats are (for example): 2012-06-30T22:46:43Z, 2012, 2012-06, 2012-06-30, 2012-06-30T22:46:43-0430, 2012-06-30T22:46Z, 2012-06-30T22:46-0430, 2012-06-30 22:46, 2012-06-30 22:46:43, 2012-06-00, 2012-00-00, 2012-00-30, 22:46:43Z, 22:46Z, 22:46:43-0430, 22:46-0430, 22:46:30, 22:46 If no date is provided, it is assumed to be “today” in the timezone provided (if any), otherwise UTC.

string

ISO 8601-formatted datetime string.

Returns

a newly created DateTime, or None on error

Creates a new DateTime using the time since Jan 1, 1970 specified by secs. The DateTime is in the local timezone.

secs

seconds from the Unix epoch

Returns

the newly created DateTime, or None on error.

This is supported on crate feature v1_18 only.

Creates a new DateTime using the time since Jan 1, 1970 specified by usecs. The DateTime is in the local timezone.

usecs

microseconds from the Unix epoch

Returns

a newly created DateTime, or None on error.

Creates a new DateTime using the time since Jan 1, 1970 specified by secs. The DateTime is in the UTC timezone.

secs

seconds from the Unix epoch

Returns

the newly created DateTime, or None on error.

This is supported on crate feature v1_18 only.

Creates a new DateTime using the time since Jan 1, 1970 specified by usecs. The DateTime is in UTC.

usecs

microseconds from the Unix epoch

Returns

a newly created DateTime, or None on error.

Creates a new DateTime representing the current date and time.

Returns

the newly created DateTime which should be freed with gst_date_time_unref(), or None on error.

Creates a new DateTime that represents the current instant at Universal coordinated time.

Returns

the newly created DateTime which should be freed with gst_date_time_unref(), or None on error.

Returns the year of this DateTime. Call has_year() before, to avoid warnings.

Returns

The year of this DateTime

Returns

true if self’s day field is set, otherwise false

Returns

true if self’s month field is set, otherwise false

Returns

true if self’s second field is set, otherwise false

Returns

true if self’s hour and minute fields are set, otherwise false

Returns

true if self’s year field is set (which should always be the case), otherwise false

Creates a new glib::DateTime from a fully defined DateTime object.

Returns

a newly created glib::DateTime, or None on error or if self does not have a year, month, day, hour, minute and second.

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

Returns

a newly allocated string formatted according to ISO 8601 and only including the datetime fields that are valid, or None in case there was an error.

Creates a new DateTime 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 representing it in hours for most timezones.

If value is -1 then all over value will be ignored. For example if month == -1, then DateTime will be created only for year. If day == -1, then DateTime will be created for year and month and so on.

tzoffset

Offset from UTC in hours.

year

the gregorian year

month

the gregorian month

day

the day of the gregorian month

hour

the hour of the day

minute

the minute of the hour

seconds

the second of the minute

Returns

the newly created DateTime, or None on error.

Returns the day of the month of this DateTime.

Returns

The day of this DateTime, or -1 if none is set.

Retrieves the hour of the day represented by self in the gregorian calendar. The return is in the range of 0 to 23.

Returns

the hour of the day, or -1 if none is set.

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

Returns

the microsecond of the second, or -1 if none is set.

Retrieves the minute of the hour represented by self in the gregorian calendar.

Returns

the minute of the hour, or -1 if none is set.

Returns the month of this DateTime. January is 1, February is 2, etc..

Returns

The month of this DateTime, or -1 if none is set.

Retrieves the second of the minute represented by self in the gregorian calendar.

Returns

the second represented by self, or -1 if none is set.

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

Returns

the offset from UTC in hours, or G_MAXDOUBLE if none is set.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Serialize this value into the given Serde serializer. Read more

Returns the type identifier of Self.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Ensures that the type has been registered with the type system.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Returns a SendValue clone of self.

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.