gi-gst-1.0.26: GStreamer bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gst.Structs.DateTime

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

Exported types

newtype DateTime Source #

Memory-managed wrapper type.

Constructors

DateTime (ManagedPtr DateTime) 

Instances

Instances details
Eq DateTime Source # 
Instance details

Defined in GI.Gst.Structs.DateTime

GBoxed DateTime Source # 
Instance details

Defined in GI.Gst.Structs.DateTime

ManagedPtrNewtype DateTime Source # 
Instance details

Defined in GI.Gst.Structs.DateTime

Methods

toManagedPtr :: DateTime -> ManagedPtr DateTime

TypedObject DateTime Source # 
Instance details

Defined in GI.Gst.Structs.DateTime

Methods

glibType :: IO GType

HasParentTypes DateTime Source # 
Instance details

Defined in GI.Gst.Structs.DateTime

IsGValue (Maybe DateTime) Source #

Convert DateTime to and from GValue. See toGValue and fromGValue.

Instance details

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 # 
Instance details

Defined in GI.Gst.Structs.DateTime

type ParentTypes DateTime = '[] :: [Type]

Methods

Click to display all available methods, including inherited ones

Expand

Methods

hasDay, hasMonth, hasSecond, hasTime, hasYear, ref, toGDateTime, toIso8601String, unref.

Getters

getDay, getHour, getMicrosecond, getMinute, getMonth, getSecond, getTimeZoneOffset, getYear.

Setters

None.

getDay

dateTimeGetDay Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Int32

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

Returns the day of the month of this DateTime.

getHour

dateTimeGetHour Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a 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

datetime: a 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

dateTimeGetMinute Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a 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

dateTimeGetMonth Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Int32

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

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

getSecond

dateTimeGetSecond Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Int32

Returns: the second represented by datetime, or -1 if none is set.

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

getTimeZoneOffset

dateTimeGetTimeZoneOffset Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Float

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

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

dateTimeGetYear Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Int32

Returns: The year of this DateTime

Returns the year of this DateTime. Call dateTimeHasYear before, to avoid warnings.

hasDay

dateTimeHasDay Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Bool

Returns: True if datetime's day field is set, otherwise False

No description available in the introspection data.

hasMonth

dateTimeHasMonth Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Bool

Returns: True if datetime's month field is set, otherwise False

No description available in the introspection data.

hasSecond

dateTimeHasSecond Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Bool

Returns: True if datetime's second field is set, otherwise False

No description available in the introspection data.

hasTime

dateTimeHasTime Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Bool

Returns: True if datetime's hour and minute fields are set, otherwise False

No description available in the introspection data.

hasYear

dateTimeHasYear Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m Bool

Returns: True if datetime's year field is set (which should always be the case), otherwise False

No description available in the introspection data.

new

dateTimeNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Float

tzoffset: Offset from UTC in hours.

-> Int32

year: the gregorian year

-> Int32

month: the gregorian month

-> Int32

day: the day of the gregorian month

-> Int32

hour: the hour of the day

-> Int32

minute: the minute of the hour

-> Double

seconds: the second of the minute

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on 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.

newFromGDateTime

dateTimeNewFromGDateTime Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Maybe DateTime

dt: the DateTime.

-> m (Maybe DateTime)

Returns: a newly created DateTime, or Nothing if dt is Nothing.

Creates a new DateTime from a DateTime object.

newFromIso8601String

dateTimeNewFromIso8601String Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

string: ISO 8601-formatted datetime string.

-> m (Maybe DateTime)

Returns: a newly created DateTime, or Nothing on error

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

secs: seconds from the Unix epoch

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on error.

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

newFromUnixEpochLocalTimeUsecs

dateTimeNewFromUnixEpochLocalTimeUsecs Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int64

usecs: microseconds from the Unix epoch

-> m (Maybe DateTime)

Returns: a newly created DateTime, or Nothing on error.

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

Since: 1.18

newFromUnixEpochUtc

dateTimeNewFromUnixEpochUtc Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int64

secs: seconds from the Unix epoch

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on error.

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

newFromUnixEpochUtcUsecs

dateTimeNewFromUnixEpochUtcUsecs Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int64

usecs: microseconds from the Unix epoch

-> m (Maybe DateTime)

Returns: a newly created DateTime, or Nothing on error.

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

Since: 1.18

newLocalTime

dateTimeNewLocalTime Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int32

year: the gregorian year

-> Int32

month: the gregorian month, or -1

-> Int32

day: the day of the gregorian month, or -1

-> Int32

hour: the hour of the day, or -1

-> Int32

minute: the minute of the hour, or -1

-> Double

seconds: the second of the minute, or -1

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on error.

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 DateTime which should be freed with dateTimeUnref, or Nothing on error.

Creates a new DateTime representing the current date and time.

newNowUtc

dateTimeNewNowUtc Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m (Maybe DateTime)

Returns: the newly created DateTime which should be freed with dateTimeUnref, or Nothing on error.

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

newY

dateTimeNewY Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int32

year: the gregorian year

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on error.

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

dateTimeNewYm Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int32

year: the gregorian year

-> Int32

month: the gregorian month

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on error.

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.

newYmd

dateTimeNewYmd Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int32

year: the gregorian year

-> Int32

month: the gregorian month

-> Int32

day: the day of the gregorian month

-> m (Maybe DateTime)

Returns: the newly created DateTime, or Nothing on error.

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

dateTimeRef Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m DateTime

Returns: the reference datetime

Atomically increments the reference count of datetime by one.

toGDateTime

dateTimeToGDateTime Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: GstDateTime.

-> m (Maybe DateTime)

Returns: a newly created DateTime, or Nothing on error or if datetime does not have a year, month, day, hour, minute and second.

Creates a new DateTime from a fully defined DateTime object.

toIso8601String

dateTimeToIso8601String Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime.

-> m (Maybe Text)

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

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

dateTimeUnref Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> DateTime

datetime: a DateTime

-> m () 

Atomically decrements the reference count of datetime by one. When the reference count reaches zero, the structure is freed.