## mrp-time

mrp-time

## Functions

mrptime | mrp_time_current_time ()
mrptime | mrp_time_from_tm ()
mrptime | mrp_time_compose ()
gboolean | mrp_time_decompose ()
mrptime | mrp_time_from_string ()
gchar * | mrp_time_to_string ()
mrptime | mrp_time_from_msdate_string ()
mrptime | mrp_time_align_day ()
gint | mrp_time_day_of_week ()
gint | mrp_time_week_number ()
const gchar * | mrp_time_day_name ()
const gchar * | mrp_time_month_name ()
const gchar * | mrp_time_month_name_initial ()
gchar * | mrp_time_format ()
void | mrp_time_debug_print ()
GParamSpec * | mrp_param_spec_time ()

## Types and Values

#define | mrptime
#define | MRP_TIME_INVALID
#define | MRP_TIME_MIN
#define | MRP_TIME_MAX

## Includes

    #include <libplanner/planner.h>

## Description

## Functions

### mrp_time_current_time ()

    mrptime
    mrp_time_current_time (void);

Retrieves the current time as an mrptime value.

#### Returns

Current time.

### mrp_time_from_tm ()

    mrptime
    mrp_time_from_tm (struct tm *tm);

Converts a struct tm value to an mrptime value.

#### Parameters

tm | pointer to a struct tm time value |

#### Returns

mrptime value.

### mrp_time_compose ()

    mrptime
    mrp_time_compose (gint year,
                      gint month,
                      gint day,
                      gint hour,
                      gint minute,
                      gint second);

Composes an mrptime value from the separate components.

#### Parameters

year | the year |
month | the month |
day | the day |
hour | the hour |
minute | the minute |
second | the second |

#### Returns

An mrptime value.

### mrp_time_decompose ()

    gboolean
    mrp_time_decompose (mrptime t,
                        gint *year,
                        gint *month,
                        gint *day,
                        gint *hour,
                        gint *minute,
                        gint *second);

Splits up an mrptime value into its components.

#### Parameters

t | an mrptime value to decompose |
year | location to store year, or `NULL` |
month | location to store month, or `NULL` |
day | location to store day, or `NULL` |
hour | location to store hour, or `NULL` |
minute | location to store minute, or `NULL` |
second | location to store second, or `NULL` |

#### Returns

`TRUE` on success.

### mrp_time_from_string ()

    mrptime
    mrp_time_from_string (const gchar *str,
                          GError **err);

Parses an ISO8601 time string and converts it to an mrptime.

#### Parameters

str | a string with a time, ISO8601 format |
err | Location to store error, or `NULL` |

#### Returns

Converted time value.

### mrp_time_to_string ()

    gchar *
    mrp_time_to_string (mrptime t);

Converts a time value to an ISO8601 string.

#### Parameters

t | an mrptime time |

#### Returns

Allocated string that needs to be freed.

### mrp_time_from_msdate_string ()

    mrptime
    mrp_time_from_msdate_string (const gchar *str);

### mrp_time_align_day ()

    mrptime
    mrp_time_align_day (mrptime t);

Aligns a time value to the start of the day.

#### Parameters

t | an mrptime value |

#### Returns

Aligned value.

### mrp_time_day_of_week ()

    gint
    mrp_time_day_of_week (mrptime t);

Retrieves the day of week of the specified time.

#### Parameters

t | an mrptime value |

#### Returns

The day of week, in the range 0 to 6, where Sunday is 0.

### mrp_time_week_number ()

    gint
    mrp_time_week_number (mrptime t);

Retrieves the week number of the specified time.

#### Parameters

t | an mrptime value |

#### Returns

ISO standard week number.

### mrp_time_day_name ()

    const gchar *
    mrp_time_day_name (mrptime t);

Retrieves the name of the day of the specified time.

#### Parameters

t | an mrptime value |

#### Returns

The day name, which is static data.

### mrp_time_month_name ()

    const gchar *
    mrp_time_month_name (mrptime t);

Retrieves the name of the month of the specified time.

#### Parameters

t | an mrptime value |

#### Returns

The month name, which is static data.

### mrp_time_month_name_initial ()

    const gchar *
    mrp_time_month_name_initial (mrptime t);

Retrieves the initial letter for the month of the specified time.

#### Parameters

t | an mrptime value |

#### Returns

The initial, which is static data.

### mrp_time_format ()

    gchar *
    mrp_time_format (const gchar *format,
                     mrptime t);

Formats a string with time values. The following format codes are allowed:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    %a     The abbreviated weekday name (Mon, Tue, ...)
    %A     The full weekday name (Monday, Tuesday, ...)
    %b     The abbreviated month name (Jan, Feb, ...)
    %B     The full month name (January, February, ...)
    %d     The day of the month (01 - 31).
    %e     The day of the month (1 - 31).
    %H     The hour using a 24-hour clock (00 - 23).
    %I     The hour using a 12-hour clock (01 - 12).
    %j     The day of the year (001 - 366).
    %k     The hour using a 24-hour clock (0 to 23).
    %l     The hour using a 12-hour clock (1 - 12).
    %m     The month number (01 to 12).
    %M     The minute (00 - 59).
    %p     Either 'AM' or 'PM' according  to the given time value.
    %P     Like %p but in lowercase.
    %R     The time in 24 hour notation (%H:%M).
    %S     The second (00 - 61).
    %U     The week number, (1 - 53), starting with the first Sunday as the first day of week 1.
    %W     The week number, (1 - 53), starting with the first Monday as the first day of week 1.
    %y     The year without a century (range 00 to 99).
    %Y     The year including the century.

#### Parameters

format | format string |
t | an mrptime value |

#### Returns

Newly created string that needs to be freed.

### mrp_time_debug_print ()

    void
    mrp_time_debug_print (mrptime t);

Prints the time on stdout, for debugging purposes.

#### Parameters

t | an mrptime |

### mrp_param_spec_time ()

    GParamSpec *
    mrp_param_spec_time (const gchar *name,
                         const gchar *nick,
                         const gchar *blurb,
                         GParamFlags flags);

Convenience function for creating a GParamSpec carrying an mrptime value.

#### Parameters

name | name of the property |
nick | nick for the propery |
blurb | blurb for the property |
flags | flags |

#### Returns

Newly created GparamSpec.

[transfer full]

## Types and Values

### mrptime

    #define mrptime MrpTimeType

### MRP_TIME_INVALID

    #define MRP_TIME_INVALID 0

### MRP_TIME_MIN

    #define MRP_TIME_MIN 0

### MRP_TIME_MAX

    #define MRP_TIME_MAX 2147483647