| Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gst.Structs.DateTime
Contents
- Exported types
- Methods
- getDay
- getHour
- getMicrosecond
- getMinute
- getMonth
- getSecond
- getTimeZoneOffset
- getYear
- hasDay
- hasMonth
- hasSecond
- hasTime
- hasYear
- new
- newFromGDateTime
- newFromIso8601String
- newFromUnixEpochLocalTime
- newFromUnixEpochUtc
- newLocalTime
- newNowLocalTime
- newNowUtc
- newY
- newYm
- newYmd
- ref
- toGDateTime
- toIso8601String
- unref
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.
- newtype DateTime = DateTime (ManagedPtr DateTime)
- noDateTime :: Maybe DateTime
- data DateTimeGetDayMethodInfo
- dateTimeGetDay :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeGetHourMethodInfo
- dateTimeGetHour :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeGetMicrosecondMethodInfo
- dateTimeGetMicrosecond :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeGetMinuteMethodInfo
- dateTimeGetMinute :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeGetMonthMethodInfo
- dateTimeGetMonth :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeGetSecondMethodInfo
- dateTimeGetSecond :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeGetTimeZoneOffsetMethodInfo
- dateTimeGetTimeZoneOffset :: (HasCallStack, MonadIO m) => DateTime -> m Float
- data DateTimeGetYearMethodInfo
- dateTimeGetYear :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- data DateTimeHasDayMethodInfo
- dateTimeHasDay :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- data DateTimeHasMonthMethodInfo
- dateTimeHasMonth :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- data DateTimeHasSecondMethodInfo
- dateTimeHasSecond :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- data DateTimeHasTimeMethodInfo
- dateTimeHasTime :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- data DateTimeHasYearMethodInfo
- dateTimeHasYear :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- dateTimeNew :: (HasCallStack, MonadIO m) => Float -> Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m DateTime
- dateTimeNewFromGDateTime :: (HasCallStack, MonadIO m) => DateTime -> m (Maybe DateTime)
- dateTimeNewFromIso8601String :: (HasCallStack, MonadIO m) => Text -> m (Maybe DateTime)
- dateTimeNewFromUnixEpochLocalTime :: (HasCallStack, MonadIO m) => Int64 -> m DateTime
- dateTimeNewFromUnixEpochUtc :: (HasCallStack, MonadIO m) => Int64 -> m DateTime
- dateTimeNewLocalTime :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m DateTime
- dateTimeNewNowLocalTime :: (HasCallStack, MonadIO m) => m DateTime
- dateTimeNewNowUtc :: (HasCallStack, MonadIO m) => m DateTime
- dateTimeNewY :: (HasCallStack, MonadIO m) => Int32 -> m DateTime
- dateTimeNewYm :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> m DateTime
- dateTimeNewYmd :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> Int32 -> m DateTime
- data DateTimeRefMethodInfo
- dateTimeRef :: (HasCallStack, MonadIO m) => DateTime -> m DateTime
- data DateTimeToGDateTimeMethodInfo
- dateTimeToGDateTime :: (HasCallStack, MonadIO m) => DateTime -> m (Maybe DateTime)
- data DateTimeToIso8601StringMethodInfo
- dateTimeToIso8601String :: (HasCallStack, MonadIO m) => DateTime -> m (Maybe Text)
- data DateTimeUnrefMethodInfo
- dateTimeUnref :: (HasCallStack, MonadIO m) => DateTime -> m ()
Exported types
Constructors
| DateTime (ManagedPtr DateTime) |
Instances
Methods
getDay
data DateTimeGetDayMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetDayMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: The day of this |
Returns the day of the month of this DateTime.
Call gst_date_time_has_day before, to avoid warnings.
getHour
data DateTimeGetHourMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetHourMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the hour of the day |
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
data DateTimeGetMicrosecondMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetMicrosecondMethodInfo DateTime signature Source # | |
dateTimeGetMicrosecond Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the microsecond of the second |
Retrieves the fractional part of the seconds in microseconds represented by
datetime in the gregorian calendar.
getMinute
data DateTimeGetMinuteMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetMinuteMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the minute of the hour |
Retrieves the minute of the hour represented by datetime in the gregorian
calendar.
Call gst_date_time_has_minute before, to avoid warnings.
getMonth
data DateTimeGetMonthMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetMonthMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: The month of this |
Returns the month of this DateTime. January is 1, February is 2, etc..
Call gst_date_time_has_month before, to avoid warnings.
getSecond
data DateTimeGetSecondMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetSecondMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the second represented by |
Retrieves the second of the minute represented by datetime in the gregorian
calendar.
Call gst_date_time_has_second before, to avoid warnings.
getTimeZoneOffset
data DateTimeGetTimeZoneOffsetMethodInfo Source #
Instances
| ((~) * signature (m Float), MonadIO m) => MethodInfo * DateTimeGetTimeZoneOffsetMethodInfo DateTime signature Source # | |
dateTimeGetTimeZoneOffset Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Float | Returns: the offset from UTC in hours |
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
data DateTimeGetYearMethodInfo Source #
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * DateTimeGetYearMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: The year of this |
Returns the year of this DateTime
Call gst_date_time_has_year before, to avoid warnings.
hasDay
data DateTimeHasDayMethodInfo Source #
Instances
| ((~) * signature (m Bool), MonadIO m) => MethodInfo * DateTimeHasDayMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasMonth
data DateTimeHasMonthMethodInfo Source #
Instances
| ((~) * signature (m Bool), MonadIO m) => MethodInfo * DateTimeHasMonthMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasSecond
data DateTimeHasSecondMethodInfo Source #
Instances
| ((~) * signature (m Bool), MonadIO m) => MethodInfo * DateTimeHasSecondMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasTime
data DateTimeHasTimeMethodInfo Source #
Instances
| ((~) * signature (m Bool), MonadIO m) => MethodInfo * DateTimeHasTimeMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasYear
data DateTimeHasYearMethodInfo Source #
Instances
| ((~) * signature (m Bool), MonadIO m) => MethodInfo * DateTimeHasYearMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Float |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Double |
|
| -> m DateTime | Returns: the newly created |
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 created only for year. If
day == -1, then DateTime will created for year and month and
so on.
Free-function: gst_date_time_unref
newFromGDateTime
dateTimeNewFromGDateTime Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime | |
| -> m (Maybe DateTime) |
newFromIso8601String
dateTimeNewFromIso8601String Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Text |
|
| -> m (Maybe DateTime) |
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.
Free-function: gst_date_time_unref
newFromUnixEpochLocalTime
dateTimeNewFromUnixEpochLocalTime Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int64 |
|
| -> m DateTime | Returns: the newly created |
newFromUnixEpochUtc
dateTimeNewFromUnixEpochUtc Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int64 |
|
| -> m DateTime | Returns: the newly created |
newLocalTime
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Double |
|
| -> m DateTime | Returns: the newly created |
Creates a new DateTime 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 DateTime created will only contain year,
and all other fields will be considered not set.
If day is -1, then the DateTime created will only contain year and
month and all other fields will be considered not set.
If hour is -1, then the DateTime 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
newNowLocalTime
dateTimeNewNowLocalTime Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m DateTime | Returns: the newly created |
Creates a new DateTime representing the current date and time.
Free-function: gst_date_time_unref
newNowUtc
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m DateTime | Returns: the newly created |
Creates a new DateTime that represents the current instant at Universal
coordinated time.
Free-function: gst_date_time_unref
newY
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> m DateTime | Returns: the newly created |
Creates a new DateTime 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
newYm
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> Int32 |
|
| -> m DateTime | Returns: the newly created |
Creates a new DateTime 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 DateTime will created only for year.
Free-function: gst_date_time_unref
newYmd
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> m DateTime | Returns: the newly created |
Creates a new DateTime 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 DateTime will created only for year. If
day == -1, then DateTime will created for year and month and
so on.
Free-function: gst_date_time_unref
ref
data DateTimeRefMethodInfo Source #
Instances
| ((~) * signature (m DateTime), MonadIO m) => MethodInfo * DateTimeRefMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m DateTime | Returns: the reference |
Atomically increments the reference count of datetime by one.
toGDateTime
data DateTimeToGDateTimeMethodInfo Source #
Instances
| ((~) * signature (m (Maybe DateTime)), MonadIO m) => MethodInfo * DateTimeToGDateTimeMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m (Maybe DateTime) |
toIso8601String
data DateTimeToIso8601StringMethodInfo Source #
Instances
| ((~) * signature (m (Maybe Text)), MonadIO m) => MethodInfo * DateTimeToIso8601StringMethodInfo DateTime signature Source # | |
dateTimeToIso8601String Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m (Maybe Text) | Returns: a newly allocated string formatted according
to ISO 8601 and only including the datetime fields that are
valid, or |
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
data DateTimeUnrefMethodInfo Source #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * DateTimeUnrefMethodInfo DateTime signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m () |
Atomically decrements the reference count of datetime by one. When the
reference count reaches zero, the structure is freed.