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 |
- 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
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 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 | |
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
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Int32 | Returns: The day of this |
Returns the day of the month of this DateTime
.
getHour
:: (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 #
:: (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
:: (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
:: (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
:: (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 #
:: (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
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Int32 | Returns: The year of this |
Returns the year of this DateTime
.
Call dateTimeHasYear
before, to avoid warnings.
hasDay
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Bool | Returns: |
No description available in the introspection data.
hasMonth
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Bool | Returns: |
No description available in the introspection data.
hasSecond
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Bool | Returns: |
No description available in the introspection data.
hasTime
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Bool | Returns: |
No description available in the introspection data.
hasYear
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m Bool | Returns: |
No description available in the introspection data.
new
:: (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 #
:: (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 #
:: (HasCallStack, MonadIO m) | |
=> Int64 |
|
-> m (Maybe DateTime) |
newFromUnixEpochLocalTimeUsecs
dateTimeNewFromUnixEpochLocalTimeUsecs Source #
:: (HasCallStack, MonadIO m) | |
=> Int64 |
|
-> m (Maybe DateTime) |
newFromUnixEpochUtc
dateTimeNewFromUnixEpochUtc Source #
:: (HasCallStack, MonadIO m) | |
=> Int64 |
|
-> m (Maybe DateTime) |
newFromUnixEpochUtcUsecs
dateTimeNewFromUnixEpochUtcUsecs Source #
:: (HasCallStack, MonadIO m) | |
=> Int64 |
|
-> m (Maybe DateTime) |
newLocalTime
:: (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 #
:: (HasCallStack, MonadIO m) | |
=> m (Maybe DateTime) | Returns: the newly created |
Creates a new DateTime
representing the current date and time.
newNowUtc
:: (HasCallStack, MonadIO m) | |
=> m (Maybe DateTime) | Returns: the newly created |
Creates a new DateTime
that represents the current instant at Universal
coordinated time.
newY
:: (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
:: (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
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m DateTime | Returns: the reference |
Atomically increments the reference count of datetime
by one.
toGDateTime
toIso8601String
dateTimeToIso8601String Source #
:: (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
:: (HasCallStack, MonadIO m) | |
=> DateTime |
|
-> m () |
Atomically decrements the reference count of datetime
by one. When the
reference count reaches zero, the structure is freed.