i-cal-time

i-cal-time

Synopsis

#include <i-cal-time-span>
#include <i-cal-timetype>
#include <i-cal-timezone>

ICalTimetype *      i_cal_time_null_time                (void);
ICalTimetype *      i_cal_time_null_date                (void);
ICalTimetype *      i_cal_time_current_time_with_zone   (ICalTimezone *zone);
ICalTimetype *      i_cal_time_today                    (void);
ICalTimetype *      i_cal_time_from_timet               (const time_t v,
                                                         gint is_date);
ICalTimetype *      i_cal_time_from_timet_with_zone     (const time_t v,
                                                         gint is_date,
                                                         ICalTimezone *zone);
ICalTimetype *      i_cal_time_from_string              (const gchar *str);
ICalTimetype *      i_cal_time_from_day_of_year         (const gint day,
                                                         const gint year);
time_t              i_cal_time_as_timet                 (ICalTimetype *tt);
time_t              i_cal_time_as_timet_with_zone       (ICalTimetype *tt,
                                                         ICalTimezone *zone);
gchar *             i_cal_time_as_ical_string_r         (ICalTimetype *tt);
const ICalTimezone * i_cal_time_get_timezone            (ICalTimetype *tt);
ICalTimetype *      i_cal_time_set_timezone             (ICalTimetype *tt,
                                                         ICalTimezone *zone);
const gchar *       i_cal_time_get_tzid                 (ICalTimetype *tt);
gint                i_cal_time_day_of_year              (ICalTimetype *tt);
gint                i_cal_time_day_of_week              (ICalTimetype *tt);
gint                i_cal_time_start_doy_of_week        (ICalTimetype *tt);
gint                i_cal_time_start_doy_week           (ICalTimetype *tt,
                                                         gint fdow);
gint                i_cal_time_week_number              (ICalTimetype *tt);
gint                i_cal_time_is_null_time             (ICalTimetype *tt);
gint                i_cal_time_is_valid_time            (ICalTimetype *tt);
gint                i_cal_time_is_date                  (ICalTimetype *tt);
gint                i_cal_time_is_utc                   (ICalTimetype *tt);
gint                i_cal_time_compare                  (ICalTimetype *a,
                                                         ICalTimetype *b);
gint                i_cal_time_compare_date_only        (ICalTimetype *a,
                                                         ICalTimetype *b);
gint                i_cal_time_compare_date_only_tz     (ICalTimetype *a,
                                                         ICalTimetype *b,
                                                         ICalTimezone *zone);
void                i_cal_time_adjust                   (ICalTimetype *tt,
                                                         const gint days,
                                                         const gint hours,
                                                         const gint minutes,
                                                         const gint seconds);
ICalTimetype *      i_cal_time_normalize                (ICalTimetype *t);
ICalTimetype *      i_cal_time_convert_to_zone          (ICalTimetype *t,
                                                         ICalTimezone *zone);
gint                i_cal_time_days_in_month            (const gint month,
                                                         const gint year);
gint                i_cal_time_days_is_leap_year        (const gint year);
ICalTimeSpan *      i_cal_time_span_new                 (ICalTimetype *dtstart,
                                                         ICalTimetype *dtend,
                                                         gint is_busy);
gint                i_cal_time_span_overlaps            (ICalTimeSpan *s1,
                                                         ICalTimeSpan *s2);
gint                i_cal_time_span_contains            (ICalTimeSpan *s,
                                                         ICalTimeSpan *container);

Description

Details

i_cal_time_null_time ()

ICalTimetype *      i_cal_time_null_time                (void);

Create a default time which is an epoch time

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_null_date ()

ICalTimetype *      i_cal_time_null_date                (void);

Create a null date, which indicates no time has been set

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_current_time_with_zone ()

ICalTimetype *      i_cal_time_current_time_with_zone   (ICalTimezone *zone);

Create a ICalTimetype according to the timezone and current time

zone :

The timezone used to create a ICalTimetype according to the current time. [in][transfer none]

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_today ()

ICalTimetype *      i_cal_time_today                    (void);

Create a ICalTimetype representing today

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_from_timet ()

ICalTimetype *      i_cal_time_from_timet               (const time_t v,
                                                         gint is_date);

Convert seconds past UNIX epoch to a timetype

v :

The seconds past since epoch time

is_date :

Whether it is a date type, 1 if yes, 0 if not.

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_from_timet_with_zone ()

ICalTimetype *      i_cal_time_from_timet_with_zone     (const time_t v,
                                                         gint is_date,
                                                         ICalTimezone *zone);

Convert seconds past UNIX epoch to a timetype, using timezones.

v :

The seconds past since epoch time

is_date :

Whether it is a date type, 1 if yes, 0 if not.

zone :

The timezone. [in][transfer none]

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_from_string ()

ICalTimetype *      i_cal_time_from_string              (const gchar *str);

create a time from an ISO format string

str :

The ISO format string

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_from_day_of_year ()

ICalTimetype *      i_cal_time_from_day_of_year         (const gint day,
                                                         const gint year);

Create a new time, given a day of year and a year.

day :

The day of a year

year :

The year

Returns :

The newly created ICalTimetype. [transfer full]

Since 1.0


i_cal_time_as_timet ()

time_t              i_cal_time_as_timet                 (ICalTimetype *tt);

Return the time as seconds past the UNIX epoch

tt :

The ICalTimetype to be converted

Returns :

the time as seconds past the UNIX epoch

Since 1.0


i_cal_time_as_timet_with_zone ()

time_t              i_cal_time_as_timet_with_zone       (ICalTimetype *tt,
                                                         ICalTimezone *zone);

Return the time as seconds past the UNIX epoch, using timezones.

tt :

The ICalTimetype to be converted

zone :

The timezone. [in][transfer none]

Returns :

the time as seconds past the UNIX epoch

Since 1.0


i_cal_time_as_ical_string_r ()

gchar *             i_cal_time_as_ical_string_r         (ICalTimetype *tt);

Return a string represention of the time, in RFC2445 format.

tt :

The ICalTimetype to be converted

Returns :

The string representation. [transfer full]

Since 1.0


i_cal_time_get_timezone ()

const ICalTimezone * i_cal_time_get_timezone            (ICalTimetype *tt);

Return the timezone

tt :

The ICalTimetype to be queried. [in][transfer none]

Returns :

The timezone information. [transfer full]

Since 1.0


i_cal_time_set_timezone ()

ICalTimetype *      i_cal_time_set_timezone             (ICalTimetype *tt,
                                                         ICalTimezone *zone);

Set the timezone

tt :

The ICalTimetype to be queried

zone :

The timezone. [transfer full]

Returns :

The ICalTimetype after being set. [transfer full]

Since 1.0


i_cal_time_get_tzid ()

const gchar *       i_cal_time_get_tzid                 (ICalTimetype *tt);

Return the tzid, or NULL for a floating time

tt :

The ICalTimetype to be queried. [in][transfer none]

Returns :

The tzid of ICalTimetype, or NULL if floating type. [allow-none][transfer none]

Since 1.0


i_cal_time_day_of_year ()

gint                i_cal_time_day_of_year              (ICalTimetype *tt);

Return the day of the year of the given time

tt :

The ICalTimetype to be queried. [in][transfer none]

Returns :

the day of the year of the given time

Since 1.0


i_cal_time_day_of_week ()

gint                i_cal_time_day_of_week              (ICalTimetype *tt);

Return the day of the week of the given time. Sunday is 1

tt :

The ICalTimetype to be queried. [in][transfer none]

Returns :

the day of the week of the given time. Sunday is 1.

Since 1.0


i_cal_time_start_doy_of_week ()

gint                i_cal_time_start_doy_of_week        (ICalTimetype *tt);

Return the day of the year for the Sunday of the week that the given time is within.

tt :

The ICalTimetype to be queried. [in][transfer none]

Returns :

the day of the year for the Sunday of the week that the given time is within.

Since 1.0


i_cal_time_start_doy_week ()

gint                i_cal_time_start_doy_week           (ICalTimetype *tt,
                                                         gint fdow);

Return the day of the year for the first day of the week that the given time is within.

tt :

The ICalTimetype to be queried. [in][transfer none]

fdow :

The first day of the week

Returns :

the day of the year for the Sunday of the week that the given time is within.

Since 1.0


i_cal_time_week_number ()

gint                i_cal_time_week_number              (ICalTimetype *tt);

Return the week number for the week the given time is within.

tt :

The ICalTimetype to be queried. [in][transfer none]

Returns :

the week number for the week the given time is within.

Since 1.0


i_cal_time_is_null_time ()

gint                i_cal_time_is_null_time             (ICalTimetype *tt);

Return true of the time is null.

tt :

The ICalTimetype to be checked. [in][transfer none]

Returns :

Whether tt is null_time. 1 if yes, 0 if not.

Since 1.0


i_cal_time_is_valid_time ()

gint                i_cal_time_is_valid_time            (ICalTimetype *tt);

Return true of the time is null.

tt :

The ICalTimetype to be checked. [in][transfer none]

Returns :

Whether tt is null_time. 1 if yes, 0 if not.

Since 1.0


i_cal_time_is_date ()

gint                i_cal_time_is_date                  (ICalTimetype *tt);

Returns true if time is of DATE type, false if DATE-TIME.

tt :

The ICalTimetype to be checked. [in][transfer none]

Returns :

true if time is of DATE type, false if DATE-TIME.

Since 1.0


i_cal_time_is_utc ()

gint                i_cal_time_is_utc                   (ICalTimetype *tt);

Returns true if time is relative to UTC zone.

tt :

The ICalTimetype to be checked. [in][transfer none]

Returns :

true if time is relative to UTC zone.

Since 1.0


i_cal_time_compare ()

gint                i_cal_time_compare                  (ICalTimetype *a,
                                                         ICalTimetype *b);

Return -1, 0, or 1 to indicate that a less than b, a==b or a larger than b.

a :

The ICalTimetype to be compared. [in][transfer none]

b :

The ICalTimetype to be compared. [in][transfer none]

Returns :

-1, 0, or 1 to indicate that a less than b, a==b or a larger than b.

Since 1.0


i_cal_time_compare_date_only ()

gint                i_cal_time_compare_date_only        (ICalTimetype *a,
                                                         ICalTimetype *b);

like icaltime_compare, but only use the date parts.

a :

The ICalTimetype to be compared. [in][transfer none]

b :

The ICalTimetype to be compared. [in][transfer none]

Returns :

-1, 0, or 1 to indicate that a less than b, a==b or a larger than b.

Since 1.0


i_cal_time_compare_date_only_tz ()

gint                i_cal_time_compare_date_only_tz     (ICalTimetype *a,
                                                         ICalTimetype *b,
                                                         ICalTimezone *zone);

like icaltime_compare_tz, but only use the date parts.

a :

The ICalTimetype to be compared. [in][transfer none]

b :

The ICalTimetype to be compared. [in][transfer none]

zone :

The target timezone. [transfer full]

Returns :

-1, 0, or 1 to indicate that a less than b, a==b or a larger than b.

Since 1.0


i_cal_time_adjust ()

void                i_cal_time_adjust                   (ICalTimetype *tt,
                                                         const gint days,
                                                         const gint hours,
                                                         const gint minutes,
                                                         const gint seconds);

like icaltime_compare_tz, but only use the date parts.

tt :

The ICalTimetype to be set

days :

difference of days adjusted

hours :

difference of hours adjusted

minutes :

difference of minutes adjusted

seconds :

difference of seconds adjusted

Since 1.0


i_cal_time_normalize ()

ICalTimetype *      i_cal_time_normalize                (ICalTimetype *t);

Normalize the icaltime, so that all fields are within the normal range.

t :

The ICalTimetype to be normalized. [in][transfer none]

Returns :

The ICalTimetype normalized. [transfer full]

Since 1.0


i_cal_time_convert_to_zone ()

ICalTimetype *      i_cal_time_convert_to_zone          (ICalTimetype *t,
                                                         ICalTimezone *zone);

Convert tt, of timezone tzid, into a utc time. Does nothing if the time is already UTC.

t :

The ICalTimetype to be normalized. [in][transfer none]

zone :

The target timezone. [transfer full]

Returns :

The converted ICalTimetype. [transfer full]

Since 1.0


i_cal_time_days_in_month ()

gint                i_cal_time_days_in_month            (const gint month,
                                                         const gint year);

Get the number of days in the target month in the target year.

month :

The target month

year :

The target year

Returns :

The number of days in the target month in the target year.

Since 1.0


i_cal_time_days_is_leap_year ()

gint                i_cal_time_days_is_leap_year        (const gint year);

Check whether a year is a leap year.

year :

The target year

Returns :

1 if year is leap year, 0 if not.

Since 1.0


i_cal_time_span_new ()

ICalTimeSpan *      i_cal_time_span_new                 (ICalTimetype *dtstart,
                                                         ICalTimetype *dtend,
                                                         gint is_busy);

Create a new ICalTimeSpan.

dtstart :

The start of ICalTimeSpan

dtend :

The end of ICalTimeSpan

is_busy :

Whether this span is busy

Returns :

The newly create ICalTimeSpan. [transfer full]

Since 1.0


i_cal_time_span_overlaps ()

gint                i_cal_time_span_overlaps            (ICalTimeSpan *s1,
                                                         ICalTimeSpan *s2);

Check whether two spans overlap.

s1 :

The first ICalTimeSpan

s2 :

The second ICalTimeSpan

Returns :

Whether these two span are overlapped.

Since 1.0


i_cal_time_span_contains ()

gint                i_cal_time_span_contains            (ICalTimeSpan *s,
                                                         ICalTimeSpan *container);

Check whether one ICalTimeSpan is contained in another ICalTimeSpan.

s :

The test ICalTimeSpan

container :

The target container of ICalTimeSpan

Returns :

Whether one ICalTimeSpan is contained in another ICalTimeSpan.

Since 1.0