gwenhywfar  4.3.3
Functions | Variables
gwendate.c File Reference
#include "gwendate_p.h"
#include "i18n_l.h"
#include <gwenhywfar/debug.h>
#include <gwenhywfar/misc.h>
#include <time.h>
#include <ctype.h>

Go to the source code of this file.

Functions

void GWEN_Date__fillTmplChars (const GWEN_DATE *t, GWEN_DATE_TMPLCHAR_LIST *ll)
GWEN_DATE_TMPLCHAR * GWEN_Date__findTmplChar (GWEN_DATE_TMPLCHAR_LIST *ll, char c)
void GWEN_Date__sampleTmplChars (GWEN_UNUSED const GWEN_DATE *t, const char *tmpl, GWEN_UNUSED GWEN_BUFFER *buf, GWEN_DATE_TMPLCHAR_LIST *ll)
int GWEN_Date_Compare (const GWEN_DATE *gd1, const GWEN_DATE *gd0)
GWEN_DATEGWEN_Date_CurrentDate (void)
int GWEN_Date_DaysInMonth (const GWEN_DATE *gd)
int GWEN_Date_DaysInYear (const GWEN_DATE *gd)
int GWEN_Date_Diff (const GWEN_DATE *gd1, const GWEN_DATE *gd0)
GWEN_DATEGWEN_Date_dup (const GWEN_DATE *ogd)
void GWEN_Date_free (GWEN_DATE *gd)
GWEN_DATEGWEN_Date_fromGmTime (time_t t)
GWEN_DATEGWEN_Date_fromGregorian (int y, int m, int d)
GWEN_DATEGWEN_Date_fromJulian (int julian)
GWEN_DATEGWEN_Date_fromLocalTime (time_t t)
GWEN_DATEGWEN_Date_fromString (const char *s)
GWEN_DATEGWEN_Date_fromStringWithTemplate (const char *s, const char *tmpl)
GWEN_DATEGWEN_Date_fromTime (const GWEN_TIME *ti)
int GWEN_Date_GetDay (const GWEN_DATE *gd)
int GWEN_Date_GetJulian (const GWEN_DATE *gd)
int GWEN_Date_GetMonth (const GWEN_DATE *gd)
const char * GWEN_Date_GetString (const GWEN_DATE *gd)
int GWEN_Date_GetYear (const GWEN_DATE *gd)
int GWEN_Date_IsLeapYear (int y)
int GWEN_Date_toStringWithTemplate (const GWEN_DATE *t, const char *tmpl, GWEN_BUFFER *buf)
int GWEN_Date_WeekDay (const GWEN_DATE *gd)
void GWEN_DateTmplChar_free (GWEN_DATE_TMPLCHAR *e)
GWEN_DATE_TMPLCHAR * GWEN_DateTmplChar_new (char c)

Variables

static const uint8_t daysInMonth [12]

Function Documentation

void GWEN_Date__fillTmplChars ( const GWEN_DATE t,
GWEN_DATE_TMPLCHAR_LIST *  ll 
)

Definition at line 471 of file gwendate.c.

References DBG_ERROR, GWEN_Date_WeekDay(), GWEN_LOGDOMAIN, I18N, and NULL.

Referenced by GWEN_Date_toStringWithTemplate().

GWEN_DATE_TMPLCHAR* GWEN_Date__findTmplChar ( GWEN_DATE_TMPLCHAR_LIST *  ll,
char  c 
)

Definition at line 426 of file gwendate.c.

Referenced by GWEN_Date__sampleTmplChars(), and GWEN_Date_toStringWithTemplate().

void GWEN_Date__sampleTmplChars ( GWEN_UNUSED const GWEN_DATE t,
const char *  tmpl,
GWEN_UNUSED GWEN_BUFFER buf,
GWEN_DATE_TMPLCHAR_LIST *  ll 
)
int GWEN_Date_Compare ( const GWEN_DATE gd1,
const GWEN_DATE gd0 
)

Definition at line 250 of file gwendate.c.

GWEN_DATE* GWEN_Date_CurrentDate ( void  )

Create a date from the current local date.

Definition at line 136 of file gwendate.c.

References GWEN_Date_fromLocalTime().

int GWEN_Date_DaysInMonth ( const GWEN_DATE gd)

Definition at line 181 of file gwendate.c.

References daysInMonth.

int GWEN_Date_DaysInYear ( const GWEN_DATE gd)

Returns the distance between the given date and the begin of that year. E.g. if the given date is the 1st of January the result is 0.

Definition at line 193 of file gwendate.c.

References GWEN_Date_free(), and GWEN_Date_fromGregorian().

int GWEN_Date_Diff ( const GWEN_DATE gd1,
const GWEN_DATE gd0 
)

Definition at line 269 of file gwendate.c.

GWEN_DATE* GWEN_Date_dup ( const GWEN_DATE ogd)

Definition at line 145 of file gwendate.c.

References GWEN_Date_fromGregorian().

void GWEN_Date_free ( GWEN_DATE gd)

Destructor.

Definition at line 166 of file gwendate.c.

References GWEN_FREE_OBJECT.

Referenced by GWEN_Date_DaysInYear().

GWEN_DATE* GWEN_Date_fromGmTime ( time_t  t)

Definition at line 119 of file gwendate.c.

References GWEN_Date_fromGregorian(), and NULL.

GWEN_DATE* GWEN_Date_fromGregorian ( int  y,
int  m,
int  d 
)

Create a date from the gregorian calender using year, month and day.

Parameters
yyear (e.g. 2009)
mmonth (1-12)
dday of month (1-31)

Definition at line 49 of file gwendate.c.

References DBG_ERROR, GWEN_LOGDOMAIN, GWEN_NEW_OBJECT, and NULL.

Referenced by GWEN_Date_DaysInYear(), GWEN_Date_dup(), GWEN_Date_fromGmTime(), GWEN_Date_fromLocalTime(), GWEN_Date_fromString(), and GWEN_Date_fromStringWithTemplate().

GWEN_DATE* GWEN_Date_fromJulian ( int  julian)

Create a date from the julian calender.

Parameters
juliandate in julian calender

Definition at line 76 of file gwendate.c.

References GWEN_NEW_OBJECT.

GWEN_DATE* GWEN_Date_fromLocalTime ( time_t  t)

Definition at line 103 of file gwendate.c.

References GWEN_Date_fromGregorian(), and NULL.

Referenced by GWEN_Date_CurrentDate().

GWEN_DATE* GWEN_Date_fromString ( const char *  s)

Definition at line 152 of file gwendate.c.

References DBG_ERROR, GWEN_Date_fromGregorian(), GWEN_LOGDOMAIN, and NULL.

Referenced by GWEN_Date_fromTime().

GWEN_DATE* GWEN_Date_fromStringWithTemplate ( const char *  s,
const char *  tmpl 
)
GWEN_DATE* GWEN_Date_fromTime ( const GWEN_TIME ti)
int GWEN_Date_GetDay ( const GWEN_DATE gd)

Definition at line 222 of file gwendate.c.

int GWEN_Date_GetJulian ( const GWEN_DATE gd)

Definition at line 229 of file gwendate.c.

int GWEN_Date_GetMonth ( const GWEN_DATE gd)

Definition at line 215 of file gwendate.c.

const char* GWEN_Date_GetString ( const GWEN_DATE gd)

Definition at line 243 of file gwendate.c.

int GWEN_Date_GetYear ( const GWEN_DATE gd)

Definition at line 208 of file gwendate.c.

int GWEN_Date_IsLeapYear ( int  y)

Definition at line 174 of file gwendate.c.

int GWEN_Date_toStringWithTemplate ( const GWEN_DATE t,
const char *  tmpl,
GWEN_BUFFER buf 
)
int GWEN_Date_WeekDay ( const GWEN_DATE gd)

Definition at line 236 of file gwendate.c.

Referenced by GWEN_Date__fillTmplChars().

void GWEN_DateTmplChar_free ( GWEN_DATE_TMPLCHAR *  e)

Definition at line 416 of file gwendate.c.

References GWEN_FREE_OBJECT, and GWEN_LIST_FINI.

GWEN_DATE_TMPLCHAR* GWEN_DateTmplChar_new ( char  c)

Definition at line 396 of file gwendate.c.

References GWEN_LIST_INIT, and GWEN_NEW_OBJECT.

Referenced by GWEN_Date__sampleTmplChars().

Variable Documentation

const uint8_t daysInMonth[12]
static
Initial value:
{
31,28,31,30,31,30,31,31,30,31,30,31
}

Definition at line 42 of file gwendate.c.

Referenced by GWEN_Date_DaysInMonth().