GstDateTime

GstDateTime — A date, time and timezone structure

Synopsis

#include <gst/gst.h>

                    GstDateTime;
#define             GST_TYPE_DATE_TIME
gint                gst_date_time_get_day               (const GstDateTime *datetime);
gint                gst_date_time_get_month             (const GstDateTime *datetime);
gint                gst_date_time_get_hour              (const GstDateTime *datetime);
gint                gst_date_time_get_microsecond       (const GstDateTime *datetime);
gint                gst_date_time_get_minute            (const GstDateTime *datetime);
gfloat              gst_date_time_get_time_zone_offset  (const GstDateTime *datetime);
gint                gst_date_time_get_second            (const GstDateTime *datetime);
gint                gst_date_time_get_year              (const GstDateTime *datetime);
GstDateTime *       gst_date_time_new                   (gfloat tzoffset,
                                                         gint year,
                                                         gint month,
                                                         gint day,
                                                         gint hour,
                                                         gint minute,
                                                         gdouble seconds);
GstDateTime *       gst_date_time_new_from_unix_epoch_local_time
                                                        (gint64 secs);
GstDateTime *       gst_date_time_new_from_unix_epoch_utc
                                                        (gint64 secs);
GstDateTime *       gst_date_time_new_local_time        (gint year,
                                                         gint month,
                                                         gint day,
                                                         gint hour,
                                                         gint minute,
                                                         gdouble seconds);
GstDateTime *       gst_date_time_new_now_local_time    (void);
GstDateTime *       gst_date_time_new_now_utc           (void);
GstDateTime *       gst_date_time_ref                   (GstDateTime *datetime);
void                gst_date_time_unref                 (GstDateTime *datetime);

Description

Struct to store date, time and timezone information altogether. GstDateTime is refcounted and immutable.

Date information is handled using the proleptic Gregorian calendar.

Provides basic creation functions and accessor functions to its fields.

Details

GstDateTime

typedef struct _GstDateTime GstDateTime;

Opaque, immutable, refcounted struct that stores date, time and timezone information. It currently supports ranges from 0001-01-01 to 9999-12-31 in the Gregorian proleptic calendar.

Use the acessor functions to get the stored values.


GST_TYPE_DATE_TIME

#define GST_TYPE_DATE_TIME               gst_date_time_get_type ()

a boxed GValue type for GstDateTime that represents a date and time.

Returns :

the GType of GstDateTime

Since 0.10.31


gst_date_time_get_day ()

gint                gst_date_time_get_day               (const GstDateTime *datetime);

Returns the day of this GstDateTime.

datetime :

a GstDateTime

Returns :

The day of this GstDateTime

Since 0.10.31


gst_date_time_get_month ()

gint                gst_date_time_get_month             (const GstDateTime *datetime);

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

datetime :

a GstDateTime

Returns :

The month of this GstDateTime

Since 0.10.31


gst_date_time_get_hour ()

gint                gst_date_time_get_hour              (const GstDateTime *datetime);

Retrieves the hour of the day represented by datetime in the gregorian calendar. The return is in the range of 0 to 23.

datetime :

a GstDateTime

Returns :

the hour of the day

Since 0.10.31


gst_date_time_get_microsecond ()

gint                gst_date_time_get_microsecond       (const GstDateTime *datetime);

Retrieves the fractional part of the seconds in microseconds represented by datetime in the gregorian calendar.

datetime :

a GstDateTime

Returns :

the microsecond of the second

Since 0.10.31


gst_date_time_get_minute ()

gint                gst_date_time_get_minute            (const GstDateTime *datetime);

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

datetime :

a GstDateTime

Returns :

the minute of the hour

Since 0.10.31


gst_date_time_get_time_zone_offset ()

gfloat              gst_date_time_get_time_zone_offset  (const GstDateTime *datetime);

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.

datetime :

a GstDateTime

Returns :

the offset from UTC in hours

Since 0.10.31


gst_date_time_get_second ()

gint                gst_date_time_get_second            (const GstDateTime *datetime);

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

datetime :

a GstDateTime

Returns :

the second represented by datetime

Since 0.10.31


gst_date_time_get_year ()

gint                gst_date_time_get_year              (const GstDateTime *datetime);

Returns the year of this GstDateTime

datetime :

a GstDateTime

Returns :

The year of this GstDateTime

Since 0.10.31


gst_date_time_new ()

GstDateTime *       gst_date_time_new                   (gfloat tzoffset,
                                                         gint year,
                                                         gint month,
                                                         gint day,
                                                         gint hour,
                                                         gint minute,
                                                         gdouble seconds);

Creates a new GstDateTime 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 represeting it in hours for most timezones.

Free-function: gst_date_time_unref

tzoffset :

Offset from UTC in hours.

year :

the gregorian year

month :

the gregorian month

day :

the day of the gregorian month

hour :

the hour of the day

minute :

the minute of the hour

seconds :

the second of the minute

Returns :

the newly created GstDateTime. [transfer full]

Since 0.10.31


gst_date_time_new_from_unix_epoch_local_time ()

GstDateTime *       gst_date_time_new_from_unix_epoch_local_time
                                                        (gint64 secs);

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

Free-function: gst_date_time_unref

secs :

seconds from the Unix epoch

Returns :

the newly created GstDateTime. [transfer full]

Since 0.10.31


gst_date_time_new_from_unix_epoch_utc ()

GstDateTime *       gst_date_time_new_from_unix_epoch_utc
                                                        (gint64 secs);

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

Free-function: gst_date_time_unref

secs :

seconds from the Unix epoch

Returns :

the newly created GstDateTime. [transfer full]

Since 0.10.31


gst_date_time_new_local_time ()

GstDateTime *       gst_date_time_new_local_time        (gint year,
                                                         gint month,
                                                         gint day,
                                                         gint hour,
                                                         gint minute,
                                                         gdouble seconds);

Creates a new GstDateTime 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.

Free-function: gst_date_time_unref

year :

the gregorian year

month :

the gregorian month

day :

the day of the gregorian month

hour :

the hour of the day

minute :

the minute of the hour

seconds :

the second of the minute

Returns :

the newly created GstDateTime. [transfer full]

Since 0.10.31


gst_date_time_new_now_local_time ()

GstDateTime *       gst_date_time_new_now_local_time    (void);

Creates a new GstDateTime representing the current date and time.

Free-function: gst_date_time_unref

Returns :

the newly created GstDateTime which should be freed with gst_date_time_unref(). [transfer full]

Since 0.10.31


gst_date_time_new_now_utc ()

GstDateTime *       gst_date_time_new_now_utc           (void);

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

Free-function: gst_date_time_unref

Returns :

the newly created GstDateTime which should be freed with gst_date_time_unref(). [transfer full]

Since 0.10.31


gst_date_time_ref ()

GstDateTime *       gst_date_time_ref                   (GstDateTime *datetime);

Atomically increments the reference count of datetime by one.

datetime :

a GstDateTime

Returns :

the reference datetime. [transfer full]

Since 0.10.31


gst_date_time_unref ()

void                gst_date_time_unref                 (GstDateTime *datetime);

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

datetime :

a GstDateTime. [transfer full]

Since 0.10.31