gi-soup-2.4.11: Libsoup bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Soup.Structs.Date

Contents

Description

A date and time. The date is assumed to be in the (proleptic) Gregorian calendar. The time is in UTC if utc is True. Otherwise, the time is a local time, and offset gives the offset from UTC in minutes (such that adding offset to the time would give the correct UTC time). If utc is False and offset is 0, then the SoupDate represents a "floating" time with no associated timezone information.

Synopsis

Exported types

newtype Date Source #

Constructors

Date (ManagedPtr Date) 

Instances

BoxedObject Date Source # 

Methods

boxedType :: Date -> IO GType #

(~) AttrOpTag tag AttrSet => Constructible Date tag Source # 

Methods

new :: MonadIO m => (ManagedPtr Date -> Date) -> [AttrOp Date tag] -> m Date #

((~) * info (ResolveDateMethod t Date), MethodInfo * info Date p) => IsLabel t (Date -> p) Source # 

Methods

fromLabel :: Proxy# Symbol t -> Date -> p #

((~) * info (ResolveDateMethod t Date), MethodInfo * info Date p) => IsLabelProxy t (Date -> p) Source # 

Methods

fromLabelProxy :: Proxy Symbol t -> Date -> p #

HasAttributeList * Date Source # 
((~) * signature (m TimeVal), MonadIO m) => MethodInfo * DateToTimevalMethodInfo Date signature Source # 
((~) * signature (m CLong), MonadIO m) => MethodInfo * DateToTimeTMethodInfo Date signature Source # 
((~) * signature (DateFormat -> m Text), MonadIO m) => MethodInfo * DateToStringMethodInfo Date signature Source # 
((~) * signature (m Bool), MonadIO m) => MethodInfo * DateIsPastMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetYearMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetUtcMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetSecondMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetOffsetMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetMonthMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetMinuteMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetHourMethodInfo Date signature Source # 
((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetDayMethodInfo Date signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * DateFreeMethodInfo Date signature Source # 
((~) * signature (m Date), MonadIO m) => MethodInfo * DateCopyMethodInfo Date signature Source # 
type AttributeList Date Source # 

newZeroDate :: MonadIO m => m Date Source #

Construct a Date struct initialized to zero.

Methods

copy

data DateCopyMethodInfo Source #

Instances

((~) * signature (m Date), MonadIO m) => MethodInfo * DateCopyMethodInfo Date signature Source # 

dateCopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Date 

Copies date.

Since: 2.24

free

data DateFreeMethodInfo Source #

Instances

((~) * signature (m ()), MonadIO m) => MethodInfo * DateFreeMethodInfo Date signature Source # 

dateFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m () 

Frees date.

Since: 2.24

getDay

data DateGetDayMethodInfo Source #

Instances

((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetDayMethodInfo Date signature Source # 

dateGetDay Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's day

Gets date's day.

Since: 2.32

getHour

data DateGetHourMethodInfo Source #

Instances

((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetHourMethodInfo Date signature Source # 

dateGetHour Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's hour

Gets date's hour.

Since: 2.32

getMinute

dateGetMinute Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's minute

Gets date's minute.

Since: 2.32

getMonth

data DateGetMonthMethodInfo Source #

Instances

((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetMonthMethodInfo Date signature Source # 

dateGetMonth Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's month

Gets date's month.

Since: 2.32

getOffset

dateGetOffset Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's offset from UTC. If dateGetUtc returns False but dateGetOffset returns 0, that means the date is a "floating" time with no associated offset information.

Gets date's offset from UTC.

Since: 2.32

getSecond

dateGetSecond Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's second

Gets date's second.

Since: 2.32

getUtc

data DateGetUtcMethodInfo Source #

Instances

((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetUtcMethodInfo Date signature Source # 

dateGetUtc Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: True if date is UTC.

Gets date's UTC flag

Since: 2.32

getYear

data DateGetYearMethodInfo Source #

Instances

((~) * signature (m Int32), MonadIO m) => MethodInfo * DateGetYearMethodInfo Date signature Source # 

dateGetYear Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Int32

Returns: date's year

Gets date's year.

Since: 2.32

isPast

data DateIsPastMethodInfo Source #

Instances

((~) * signature (m Bool), MonadIO m) => MethodInfo * DateIsPastMethodInfo Date signature Source # 

dateIsPast Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m Bool

Returns: True if date is in the past

Determines if date is in the past.

Since: 2.24

new

dateNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int32

year: the year (1-9999)

-> Int32

month: the month (1-12)

-> Int32

day: the day of the month (1-31, as appropriate for month)

-> Int32

hour: the hour (0-23)

-> Int32

minute: the minute (0-59)

-> Int32

second: the second (0-59, or up to 61 for leap seconds)

-> m Date

Returns: a new Date

Creates a Date representing the indicated time, UTC.

newFromNow

dateNewFromNow Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Int32

offsetSeconds: offset from current time

-> m Date

Returns: a new Date

Creates a Date representing a time offsetSeconds after the current time (or before it, if offsetSeconds is negative). If offset_seconds is 0, returns the current time.

If offsetSeconds would indicate a time not expressible as a <type>time_t</type>, the return value will be clamped into range.

newFromString

dateNewFromString Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

dateString: the date in some plausible format

-> m (Maybe Date)

Returns: a new Date, or Nothing if dateString could not be parsed.

Parses dateString and tries to extract a date from it. This recognizes all of the "HTTP-date" formats from RFC 2616, all ISO 8601 formats containing both a time and a date, RFC 2822 dates, and reasonable approximations thereof. (Eg, it is lenient about whitespace, leading "0"s, etc.)

newFromTimeT

dateNewFromTimeT Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> CLong

when: a <type>time_t</type>

-> m Date

Returns: a new Date

Creates a Date corresponding to when

toString

dateToString Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> DateFormat

format: the format to generate the date in

-> m Text

Returns: date as a string

Converts date to a string in the format described by format.

toTimeT

data DateToTimeTMethodInfo Source #

Instances

((~) * signature (m CLong), MonadIO m) => MethodInfo * DateToTimeTMethodInfo Date signature Source # 

dateToTimeT Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m CLong

Returns: date as a <type>time_t</type>

Converts date to a <type>time_t</type>.

If date is not representable as a <type>time_t</type>, it will be clamped into range. (In particular, some HTTP cookies have expiration dates after "Y2.038k" (2038-01-19T03:14:07Z).)

toTimeval

dateToTimeval Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Date

date: a Date

-> m TimeVal 

Converts date to a TimeVal.

Since: 2.24

Properties

day

setDateDay :: MonadIO m => Date -> Int32 -> m () Source #

hour

setDateHour :: MonadIO m => Date -> Int32 -> m () Source #

minute

setDateMinute :: MonadIO m => Date -> Int32 -> m () Source #

month

setDateMonth :: MonadIO m => Date -> Int32 -> m () Source #

offset

setDateOffset :: MonadIO m => Date -> Int32 -> m () Source #

second

setDateSecond :: MonadIO m => Date -> Int32 -> m () Source #

utc

setDateUtc :: MonadIO m => Date -> Bool -> m () Source #

year

setDateYear :: MonadIO m => Date -> Int32 -> m () Source #