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 |
Represents a precise time, with seconds and microseconds.
Similar to the struct timeval returned by the gettimeofday()
UNIX system call.
GLib is attempting to unify around the use of 64bit integers to represent microsecond-precision time. As such, this type will be removed from a future version of GLib.
- newtype TimeVal = TimeVal (ManagedPtr TimeVal)
- newZeroTimeVal :: MonadIO m => m TimeVal
- noTimeVal :: Maybe TimeVal
- data TimeValAddMethodInfo
- timeValAdd :: (HasCallStack, MonadIO m) => TimeVal -> CLong -> m ()
- timeValFromIso8601 :: (HasCallStack, MonadIO m) => Text -> m (Bool, TimeVal)
- data TimeValToIso8601MethodInfo
- timeValToIso8601 :: (HasCallStack, MonadIO m) => TimeVal -> m Text
- getTimeValTvSec :: MonadIO m => TimeVal -> m CLong
- setTimeValTvSec :: MonadIO m => TimeVal -> CLong -> m ()
- timeVal_tvSec :: AttrLabelProxy "tvSec"
- getTimeValTvUsec :: MonadIO m => TimeVal -> m CLong
- setTimeValTvUsec :: MonadIO m => TimeVal -> CLong -> m ()
- timeVal_tvUsec :: AttrLabelProxy "tvUsec"
Exported types
WrappedPtr TimeVal Source # | |
(~) AttrOpTag tag AttrSet => Constructible TimeVal tag Source # | |
((~) * info (ResolveTimeValMethod t TimeVal), MethodInfo * info TimeVal p) => IsLabel t (TimeVal -> p) Source # | |
((~) * info (ResolveTimeValMethod t TimeVal), MethodInfo * info TimeVal p) => IsLabelProxy t (TimeVal -> p) Source # | |
HasAttributeList * TimeVal Source # | |
((~) * signature (m Text), MonadIO m) => MethodInfo * TimeValToIso8601MethodInfo TimeVal signature Source # | |
((~) * signature (CLong -> m ()), MonadIO m) => MethodInfo * TimeValAddMethodInfo TimeVal signature Source # | |
type AttributeList TimeVal Source # | |
Methods
add
data TimeValAddMethodInfo Source #
((~) * signature (CLong -> m ()), MonadIO m) => MethodInfo * TimeValAddMethodInfo TimeVal signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> TimeVal |
|
-> CLong |
|
-> m () |
Adds the given number of microseconds to time_
. microseconds
can
also be negative to decrease the value of time_
.
fromIso8601
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m (Bool, TimeVal) | Returns: |
Converts a string containing an ISO 8601 encoded date and time
to a TimeVal
and puts it into time_
.
isoDate
must include year, month, day, hours, minutes, and
seconds. It can optionally include fractions of a second and a time
zone indicator. (In the absence of any time zone indication, the
timestamp is assumed to be in local time.)
Since: 2.12
toIso8601
data TimeValToIso8601MethodInfo Source #
((~) * signature (m Text), MonadIO m) => MethodInfo * TimeValToIso8601MethodInfo TimeVal signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> TimeVal |
|
-> m Text | Returns: a newly allocated string containing an ISO 8601 date |
Converts time_
into an RFC 3339 encoded string, relative to the
Coordinated Universal Time (UTC). This is one of the many formats
allowed by ISO 8601.
ISO 8601 allows a large number of date/time formats, with or without
punctuation and optional elements. The format returned by this function
is a complete date and time, with optional punctuation included, the
UTC time zone represented as "Z", and the tvUsec
part included if
and only if it is nonzero, i.e. either
"YYYY-MM-DDTHH:MM:SSZ" or "YYYY-MM-DDTHH:MM:SS.fffffZ".
This corresponds to the Internet date/time format defined by RFC 3339, and to either of the two most-precise formats defined by the W3C Note Date and Time Formats. Both of these documents are profiles of ISO 8601.
Use dateTimeFormat
or g_strdup_printf()
if a different
variation of ISO 8601 format is required.
Since: 2.12
Properties
tvSec
timeVal_tvSec :: AttrLabelProxy "tvSec" Source #
tvUsec
timeVal_tvUsec :: AttrLabelProxy "tvUsec" Source #