| Copyright | Will Thompson and Iñaki García Etxebarria |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | Safe-Inferred |
| 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
- newFromUnixEpochLocalTimeUsecs
- newFromUnixEpochUtc
- newFromUnixEpochUtcUsecs
- 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.
- proleptic Gregorian calendar
- https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar
Synopsis
- newtype DateTime = DateTime (ManagedPtr DateTime)
- dateTimeGetDay :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeGetHour :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeGetMicrosecond :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeGetMinute :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeGetMonth :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeGetSecond :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeGetTimeZoneOffset :: (HasCallStack, MonadIO m) => DateTime -> m Float
- dateTimeGetYear :: (HasCallStack, MonadIO m) => DateTime -> m Int32
- dateTimeHasDay :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- dateTimeHasMonth :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- dateTimeHasSecond :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- dateTimeHasTime :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- dateTimeHasYear :: (HasCallStack, MonadIO m) => DateTime -> m Bool
- dateTimeNew :: (HasCallStack, MonadIO m) => Float -> Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m (Maybe DateTime)
- dateTimeNewFromGDateTime :: (HasCallStack, MonadIO m) => Maybe DateTime -> m (Maybe DateTime)
- dateTimeNewFromIso8601String :: (HasCallStack, MonadIO m) => Text -> m (Maybe DateTime)
- dateTimeNewFromUnixEpochLocalTime :: (HasCallStack, MonadIO m) => Int64 -> m (Maybe DateTime)
- dateTimeNewFromUnixEpochLocalTimeUsecs :: (HasCallStack, MonadIO m) => Int64 -> m (Maybe DateTime)
- dateTimeNewFromUnixEpochUtc :: (HasCallStack, MonadIO m) => Int64 -> m (Maybe DateTime)
- dateTimeNewFromUnixEpochUtcUsecs :: (HasCallStack, MonadIO m) => Int64 -> m (Maybe DateTime)
- dateTimeNewLocalTime :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m (Maybe DateTime)
- dateTimeNewNowLocalTime :: (HasCallStack, MonadIO m) => m (Maybe DateTime)
- dateTimeNewNowUtc :: (HasCallStack, MonadIO m) => m (Maybe DateTime)
- dateTimeNewY :: (HasCallStack, MonadIO m) => Int32 -> m (Maybe DateTime)
- dateTimeNewYm :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> m (Maybe DateTime)
- dateTimeNewYmd :: (HasCallStack, MonadIO m) => Int32 -> Int32 -> Int32 -> m (Maybe DateTime)
- dateTimeRef :: (HasCallStack, MonadIO m) => DateTime -> m DateTime
- dateTimeToGDateTime :: (HasCallStack, MonadIO m) => DateTime -> m (Maybe DateTime)
- dateTimeToIso8601String :: (HasCallStack, MonadIO m) => DateTime -> m (Maybe Text)
- dateTimeUnref :: (HasCallStack, MonadIO m) => DateTime -> m ()
Exported types
Memory-managed wrapper type.
Instances
| Eq DateTime Source # | |
| GBoxed DateTime Source # | |
Defined in GI.Gst.Structs.DateTime | |
| ManagedPtrNewtype DateTime Source # | |
Defined in GI.Gst.Structs.DateTime Methods toManagedPtr :: DateTime -> ManagedPtr DateTime | |
| TypedObject DateTime Source # | |
Defined in GI.Gst.Structs.DateTime | |
| HasParentTypes DateTime Source # | |
Defined in GI.Gst.Structs.DateTime | |
| IsGValue (Maybe DateTime) Source # | Convert |
Defined in GI.Gst.Structs.DateTime Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe DateTime -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe DateTime) | |
| type ParentTypes DateTime Source # | |
Defined in GI.Gst.Structs.DateTime | |
Methods
Click to display all available methods, including inherited ones
Methods
hasDay, hasMonth, hasSecond, hasTime, hasYear, ref, toGDateTime, toIso8601String, unref.
Getters
getDay, getHour, getMicrosecond, getMinute, getMonth, getSecond, getTimeZoneOffset, getYear.
Setters
None.
getDay
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: The day of this |
Returns the day of the month of this DateTime.
getHour
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the hour of the day, or -1 if none is set. |
Retrieves the hour of the day represented by datetime in the gregorian
calendar. The return is in the range of 0 to 23.
getMicrosecond
dateTimeGetMicrosecond Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the microsecond of the second, or -1 if none is set. |
Retrieves the fractional part of the seconds in microseconds represented by
datetime in the gregorian calendar.
getMinute
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: the minute of the hour, or -1 if none is set. |
Retrieves the minute of the hour represented by datetime in the gregorian
calendar.
getMonth
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..
getSecond
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.
getTimeZoneOffset
dateTimeGetTimeZoneOffset Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Float | Returns: the offset from UTC in hours, or |
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
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Int32 | Returns: The year of this |
Returns the year of this DateTime.
Call dateTimeHasYear before, to avoid warnings.
hasDay
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasMonth
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasSecond
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasTime
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m Bool | Returns: |
No description available in the introspection data.
hasYear
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 (Maybe DateTime) |
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.
newFromGDateTime
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.
newFromUnixEpochLocalTime
dateTimeNewFromUnixEpochLocalTime Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int64 |
|
| -> m (Maybe DateTime) |
newFromUnixEpochLocalTimeUsecs
dateTimeNewFromUnixEpochLocalTimeUsecs Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int64 |
|
| -> m (Maybe DateTime) |
newFromUnixEpochUtc
dateTimeNewFromUnixEpochUtc Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int64 |
|
| -> m (Maybe DateTime) |
newFromUnixEpochUtcUsecs
dateTimeNewFromUnixEpochUtcUsecs Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int64 |
|
| -> m (Maybe DateTime) |
newLocalTime
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> Double |
|
| -> m (Maybe DateTime) |
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.
newNowLocalTime
dateTimeNewNowLocalTime Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m (Maybe DateTime) | Returns: the newly created |
Creates a new DateTime representing the current date and time.
newNowUtc
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m (Maybe DateTime) | Returns: the newly created |
Creates a new DateTime that represents the current instant at Universal
coordinated time.
newY
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> m (Maybe DateTime) |
Creates a new DateTime using the date and times in the gregorian calendar
in the local timezone.
year should be from 1 to 9999.
newYm
newYmd
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Int32 |
|
| -> Int32 |
|
| -> Int32 |
|
| -> m (Maybe DateTime) |
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.
ref
Arguments
| :: (HasCallStack, MonadIO m) | |
| => DateTime |
|
| -> m DateTime | Returns: the reference |
Atomically increments the reference count of datetime by one.
toGDateTime
toIso8601String
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
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.