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.