SYNOPSIS

Data Structures

struct hdate_struct

libhdate Hebrew date struct

Defines

#define HDATE_DIASPORA_FLAG -1

use diaspora dates and holydays flag #define HDATE_ISRAEL_FLAG 0

use israel dates and holydays flag #define HDATE_SHORT_FLAG -1

use short strings flag #define HDATE_LONG_FLAG 0

use long strings flag #define HEBREW_NUMBER_BUFFER_SIZE 17

for hdate_get_int_string_ and hdate_get_int_wstring #define HEBREW_WNUMBER_BUFFER_SIZE 9

#define HDATE_STRING_INT 0

for function hdate_string: identifies string type: integer #define HDATE_STRING_DOW 1

for function hdate_string: identifies string type: day of week #define HDATE_STRING_PARASHA 2

for function hdate_string: identifies string type: parasha #define HDATE_STRING_HMONTH 3

for function hdate_string: identifies string type: hebrew_month #define HDATE_STRING_GMONTH 4

for function hdate_string: identifies string type: gregorian_month #define HDATE_STRING_HOLIDAY 5

for function hdate_string: identifies string type: holiday #define HDATE_STRING_OMER 6

#define HDATE_STRING_SHORT 1

for function hdate_string: use short form, if one exists #define HDATE_STRING_LONG 0

for function hdate_string: use long form #define HDATE_STRING_HEBREW 1

for function hdate_string: use embedded hebrew string #define HDATE_STRING_LOCAL 0

for function hdate_string: use local locale string

Functions

hdate_struct * hdate_set_gdate (hdate_struct *h, int d, int m, int y)

compute date structure from the Gregorian date hdate_struct * hdate_set_hdate (hdate_struct *h, int d, int m, int y)

compute date structure from the Hebrew date hdate_struct * hdate_set_jd (hdate_struct *h, int jd)

compute date structure from the Julian day char * hdate_get_format_date (hdate_struct const *h, int diaspora, int s)

Return a string, with the hebrew date. int hdate_get_parasha (hdate_struct const *h, int diaspora)

get the number of hebrew parasha. int hdate_get_holyday (hdate_struct const *h, int diaspora)

get the number of hebrew holiday. char * hdate_get_int_string (int n)

convert an integer to hebrew string. char * hdate_get_day_string (int day, int s)

Return a static string, with name of week day. char * hdate_get_month_string (int month, int s)

Return a static string, with name of month. char * hdate_get_hebrew_month_string (int month, int s)

Return a static string, with name of hebrew month. char * hdate_get_holyday_string (int holyday, int s)

Name of hebrew holiday. char * hdate_get_parasha_string (int parasha, int s)

Name of Parasha. char * hdate_get_omer_string (int omer_day)

Return a static string, with the day in the omer. int hdate_get_omer_day (hdate_struct const *h)

Return the day in the omer of the given date. int hdate_get_holyday_type (int holyday)

Return number of hebrew holyday type. int hdate_get_size_of_hebrew_year (int hebrew_year)

size of hebrew year in days. int hdate_days_from_3744 (int hebrew_year)

Days since Tishrey 3744. int hdate_get_year_type (int size_of_year, int new_year_dw)

Return Hebrew year type based on size and first week day of year. int hdate_gdate_to_jd (int day, int month, int year)

Compute Julian day from Gregorian date. int hdate_hdate_to_jd (int day, int month, int year, int *jd_tishrey1, int *jd_tishrey1_next_year)

Compute Julian day from Hebrew day, month and year. void hdate_jd_to_gdate (int jd, int *day, int *month, int *year)

Converting from the Julian day to the Gregorian date. void hdate_jd_to_hdate (int jd, int *day, int *month, int *year, int *jd_tishrey1, int *jd_tishrey1_next_year)

Converting from the Julian day to the Hebrew day. int hdate_get_day_of_year (int day, int month, int year)

days from 1 january void hdate_get_utc_sun_time_deg (int day, int month, int year, double latitude, double longitude, double deg, int *sunrise, int *sunset)

utc sun times for altitude at a gregorian date void hdate_get_utc_sun_time (int day, int month, int year, double latitude, double longitude, int *sunrise, int *sunset)

utc sunrise/set time for a gregorian date void hdate_get_utc_sun_time_full (int day, int month, int year, double latitude, double longitude, int *sun_hour, int *first_light, int *talit, int *sunrise, int *midday, int *sunset, int *first_stars, int *three_stars)

utc sunrise/set time for a gregorian date int hdate_get_gday (hdate_struct const *h)

get the Gregorian day of the month int hdate_get_gmonth (hdate_struct const *h)

get the Gregorian month int hdate_get_gyear (hdate_struct const *h)

get the Gregorian year int hdate_get_hday (hdate_struct const *h)

get the Hebrew day of the month int hdate_get_hmonth (hdate_struct const *h)

get the Hebrew month int hdate_get_hyear (hdate_struct const *h)

get the Hebrew year int hdate_get_day_of_the_week (hdate_struct const *h)

get the day of the week int hdate_get_size_of_year (hdate_struct const *h)

get the size of the hebrew year int hdate_get_new_year_day_of_the_week (hdate_struct const *h)

get the new year day of the week int hdate_get_julian (hdate_struct const *h)

get the Julian day number int hdate_get_days (hdate_struct const *h)

get the number of days passed since 1 tishrey int hdate_get_weeks (hdate_struct const *h)

get the number of weeks passed since 1 tishrey hdate_struct * new_hdate ()

creat a new hdate struct object, must be deleted using delete_hdate. hdate_struct * delete_hdate (hdate_struct *h)

delete an hdate struct object. char * hdate_get_version_string ()

Return a static string, with the package name and version. char * hdate_get_translator_string ()

name of translator int hdate_is_hebrew_locale ()

helper function to find hebrew locale char * hdate_string (int type_of_string, int index, int short_form, int hebrew_form)

Return string values for hdate information.

Detailed Description

libhdate C language header.

libhdate - Hebrew calendar library, the C language header file.

Define Documentation

#define \fBHDATE_DIASPORA_FLAG\fP -1

use diaspora dates and holydays flag

#define \fBHDATE_ISRAEL_FLAG\fP 0

use israel dates and holydays flag

#define \fBHDATE_SHORT_FLAG\fP -1

use short strings flag

#define \fBHDATE_LONG_FLAG\fP 0

use long strings flag

#define \fBHEBREW_NUMBER_BUFFER_SIZE\fP 17

for hdate_get_int_string_ and hdate_get_int_wstring Note:

How large should the buffer be? Hebrew year 10,999 would be י'תתקצ"ט, eight characters, each two bytes, plus an end-of-string delimiter, equals 17. This could effectively yield a range extending to Hebrew year 11,899, י'א תתצ'ט, due to the extra ק needed for the '900' century. However, for readability, I would want a an extra space at that point between the millenium and the century...

#define \fBHEBREW_WNUMBER_BUFFER_SIZE\fP 9

#define \fBHDATE_STRING_INT\fP 0

for function hdate_string: identifies string type: integer

#define \fBHDATE_STRING_DOW\fP 1

for function hdate_string: identifies string type: day of week

#define \fBHDATE_STRING_PARASHA\fP 2

for function hdate_string: identifies string type: parasha

#define \fBHDATE_STRING_HMONTH\fP 3

for function hdate_string: identifies string type: hebrew_month

#define \fBHDATE_STRING_GMONTH\fP 4

for function hdate_string: identifies string type: gregorian_month

#define \fBHDATE_STRING_HOLIDAY\fP 5

for function hdate_string: identifies string type: holiday

#define \fBHDATE_STRING_OMER\fP 6

#define \fBHDATE_STRING_SHORT\fP 1

for function hdate_string: use short form, if one exists

#define \fBHDATE_STRING_LONG\fP 0

for function hdate_string: use long form

#define \fBHDATE_STRING_HEBREW\fP 1

for function hdate_string: use embedded hebrew string

#define \fBHDATE_STRING_LOCAL\fP 0

for function hdate_string: use local locale string

Function Documentation

\fBhdate_struct\fP* \fBhdate_set_gdate\fP (\fBhdate_struct\fP *h, intd, intm, inty)

compute date structure from the Gregorian date Parameters:

h pointer this hdate struct.

d Day of month 1..31

m Month 1..12 if m or d is 0 return current date.

y Year in 4 digits e.g. 2001

Returns:

pointer to this hdate struct

\fBhdate_struct\fP* \fBhdate_set_hdate\fP (\fBhdate_struct\fP *h, intd, intm, inty)

compute date structure from the Hebrew date Parameters:

h pointer this hdate struct.

d Day of month 1..31

m Month 1..14 ,(13 - Adar 1, 14 - Adar 2) if m or d is 0 return current date.

y Year in 4 digits e.g. 5731

Returns:

pointer to this hdate struct

\fBhdate_struct\fP* \fBhdate_set_jd\fP (\fBhdate_struct\fP *h, intjd)

compute date structure from the Julian day Parameters:

h pointer this hdate struct.

jd the julian day number.

Returns:

pointer to this hdate struct

char* \fBhdate_get_format_date\fP (\fBhdate_struct\fP const *h, intdiaspora, ints)

Return a string, with the hebrew date. Returns:

NULL pointer upon failure or, upon success, a pointer to a string containing the short ( e.g. '1 Tishrey' ) or long (e.g. 'Tuesday 18 Tishrey 5763 Hol hamoed Sukot' ) formated date. You must free() the pointer after use.

Parameters:

h The hdate_struct of the date to print.

diaspora if true give diaspora holydays

short_format A short flag (true - returns a short string, false returns a long string).

Warning:

This was originally written using a local static string, calling for output to be copied away.

int \fBhdate_get_parasha\fP (\fBhdate_struct\fP const *h, intdiaspora)

get the number of hebrew parasha. Parameters:

h pointer this hdate struct.

diaspora if true give diaspora readings

Returns:

the number of parasha 1. Bereshit etc.. (55 through 61 are joined strings e.g. Vayakhel Pekudei)

int \fBhdate_get_holyday\fP (\fBhdate_struct\fP const *h, intdiaspora)

get the number of hebrew holiday. Parameters:

h pointer this hdate struct.

diaspora if true give diaspora holidays

Returns:

the number of holiday.

char* \fBhdate_get_int_string\fP (intn)

convert an integer to hebrew string. Parameters:

n The int to convert ( 0 < n < 11000)

Returns:

a string of the hebrew number UTF-8 (logical)

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation. Callers to this function must free() after using the memory pointed to by the return value. The original function outputted to a local static string, and suggested that the caller copied it away. [deprecation date 2011-12-28]

char* \fBhdate_get_day_string\fP (intday, ints)

Return a static string, with name of week day. Parameters:

day_of_week The number of the day 1..7 (1 - sun).

short_form A short flag (true - sun; false - sunday).

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation. [deprecation date 2011-12-28]

char* \fBhdate_get_month_string\fP (intmonth, ints)

Return a static string, with name of month. Parameters:

month The number of the month 1..12 (1 - jan).

short_form A short flag.

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation. [deprecation date 2011-12-28]

char* \fBhdate_get_hebrew_month_string\fP (intmonth, ints)

Return a static string, with name of hebrew month. Parameters:

month The number of the month 1..14 (1 - tishre, 13 - adar 1, 14 - adar 2).

short_form A short flag.

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation. [deprecation date 2011-12-28]

char* \fBhdate_get_holyday_string\fP (intholyday, ints)

Name of hebrew holiday. Parameters:

holiday The holiday number.

short_text A short flag. 0=true, !0=false

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation. [deprecation date 2011-12-28]

char* \fBhdate_get_parasha_string\fP (intparasha, ints)

Name of Parasha. Parameters:

parasha The Number of Parasha 1-Bereshit (55 through 61 are joined strings e.g. Vayakhel Pekudei)

short_form A short flag. 0=true, !0 = false

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation. [deprecation date 2011-12-28]

char* \fBhdate_get_omer_string\fP (intomer_day)

Return a static string, with the day in the omer. Parameters:

omer day The day in the omer.

Returns:

a pointer to a string with the day in the omer. The caller must free() the pointer after use.

Warning:

DEPRECATION: This function is now just a wrapper for hdate_string, and is subject to deprecation.

Attention:

The prior version of this function returned a pointer to a static string buffer. The current version returns a pointer to a malloc()ed buffer and needs to be free()d after use. [deprecation date 2011-12-28]

int \fBhdate_get_omer_day\fP (\fBhdate_struct\fP const *h)

Return the day in the omer of the given date. Parameters:

h The hdate_struct of the date to use.

Returns:

The day in the omer, starting from 1 (or 0 if not in sfirat ha omer)

int \fBhdate_get_holyday_type\fP (intholyday)

Return number of hebrew holyday type. Holiday types: 0 - Regular day 1 - Yom tov (plus yom kippor) 2 - Erev yom kippur 3 - Hol hamoed 4 - Hanuka and purim 5 - Tzomot 6 - Independance day and Yom yerushalaim 7 - Lag baomer ,Tu beav, Tu beshvat 8 - Tzahal and Holocaust memorial days 9 - National days

Parameters:

holyday the holyday number

Returns:

the number of holyday type.

int \fBhdate_get_size_of_hebrew_year\fP (inthebrew_year)

size of hebrew year in days. Parameters:

hebrew_year the hebrew year.

Returns:

size of Hebrew year

int \fBhdate_days_from_3744\fP (inthebrew_year)

Days since Tishrey 3744. Author:

Amos Shapir 1984 (rev. 1985, 1992) Yaacov Zamir 2003-2005

Parameters:

hebrew_year The Hebrew year

Returns:

Number of days since 3,1,3744

int \fBhdate_get_year_type\fP (intsize_of_year, intnew_year_dw)

Return Hebrew year type based on size and first week day of year. Parameters:

size_of_year Length of year in days

new_year_dw First week day of year

Returns:

the number for year type (1..14)

int \fBhdate_gdate_to_jd\fP (intday, intmonth, intyear)

Compute Julian day from Gregorian date. Author:

Yaacov Zamir (algorithm from Henry F. Fliegel and Thomas C. Van Flandern ,1968)

Parameters:

day Day of month 1..31

month Month 1..12

year Year in 4 digits e.g. 2001

Returns:

the julian day number

int \fBhdate_hdate_to_jd\fP (intday, intmonth, intyear, int *jd_tishrey1, int *jd_tishrey1_next_year)

Compute Julian day from Hebrew day, month and year. Author:

Amos Shapir 1984 (rev. 1985, 1992) Yaacov Zamir 2003-2005

Parameters:

day Day of month 1..31

month Month 1..14 (13 - Adar 1, 14 - Adar 2)

year Hebrew year in 4 digits e.g. 5753

jd_tishrey1 return the julian number of 1 Tishrey this year

jd_tishrey1_next_year return the julian number of 1 Tishrey next year

Returns:

the julian day number

void \fBhdate_jd_to_gdate\fP (intjd, int *day, int *month, int *year)

Converting from the Julian day to the Gregorian date. Author:

Yaacov Zamir (Algorithm, Henry F. Fliegel and Thomas C. Van Flandern ,1968)

Parameters:

jd Julian day

day return Day of month 1..31

month return Month 1..12

year return Year in 4 digits e.g. 2001

void \fBhdate_jd_to_hdate\fP (intjd, int *day, int *month, int *year, int *jd_tishrey1, int *jd_tishrey1_next_year)

Converting from the Julian day to the Hebrew day. Author:

Yaacov Zamir 2005

Parameters:

jd Julian day

day return Day of month 1..31

month return Month 1..14 (13 - Adar 1, 14 - Adar 2)

year return Year in 4 digits e.g. 2001

jd_tishrey1 return the julian number of 1 Tishrey this year

jd_tishrey1_next_year return the julian number of 1 Tishrey next year

int \fBhdate_get_day_of_year\fP (intday, intmonth, intyear)

days from 1 january Parameters:

day this day of month

month this month

year this year

Returns:

the days from 1 jan

void \fBhdate_get_utc_sun_time_deg\fP (intday, intmonth, intyear, doublelatitude, doublelongitude, doubledeg, int *sunrise, int *sunset)

utc sun times for altitude at a gregorian date Returns the sunset and sunrise times in minutes from 00:00 (utc time) if sun altitude in sunrise is deg degries. This function only works for altitudes sun realy is. If the sun never get to this altitude, the returned sunset and sunrise values will be negative. This can happen in low altitude when latitude is nearing the pols in winter times, the sun never goes very high in the sky there.

Parameters:

day this day of month

month this month

year this year

longitude longitude to use in calculations

latitude latitude to use in calculations

deg degrees of sun's altitude (0 - Zenith .. 90 - Horizon)

sunrise return the utc sunrise in minutes

sunset return the utc sunset in minutes

void \fBhdate_get_utc_sun_time\fP (intday, intmonth, intyear, doublelatitude, doublelongitude, int *sunrise, int *sunset)

utc sunrise/set time for a gregorian date Parameters:

day this day of month

month this month

year this year

longitude longitude to use in calculations degrees, negative values are east

latitude latitude to use in calculations degrees, negative values are south

sunrise return the utc sunrise in minutes after midnight (00:00)

sunset return the utc sunset in minutes after midnight (00:00)

void \fBhdate_get_utc_sun_time_full\fP (intday, intmonth, intyear, doublelatitude, doublelongitude, int *sun_hour, int *first_light, int *talit, int *sunrise, int *midday, int *sunset, int *first_stars, int *three_stars)

utc sunrise/set time for a gregorian date Parameters:

day this day of month

month this month

year this year

longitude longitude to use in calculations

latitude latitude to use in calculations

sun_hour return the length of shaa zaminit in minutes

first_light return the utc alut ha-shachar in minutes

talit return the utc tphilin and talit in minutes

sunrise return the utc sunrise in minutes

midday return the utc midday in minutes

sunset return the utc sunset in minutes

first_stars return the utc tzeit hacochavim in minutes

three_stars return the utc shlosha cochavim in minutes

int \fBhdate_get_gday\fP (\fBhdate_struct\fP const *h)

get the Gregorian day of the month Parameters:

h pointer this hdate struct.

Returns:

the Gregorian day of the month, 1..31.

int \fBhdate_get_gmonth\fP (\fBhdate_struct\fP const *h)

get the Gregorian month Parameters:

h pointer this hdate struct.

Returns:

the Gregorian month, jan = 1.

int \fBhdate_get_gyear\fP (\fBhdate_struct\fP const *h)

get the Gregorian year Parameters:

h pointer this hdate struct.

Returns:

the Gregorian year.

int \fBhdate_get_hday\fP (\fBhdate_struct\fP const *h)

get the Hebrew day of the month Parameters:

h pointer this hdate struct.

Returns:

the Hebrew day of the month, 1..30.

int \fBhdate_get_hmonth\fP (\fBhdate_struct\fP const *h)

get the Hebrew month Parameters:

h pointer this hdate struct.

Returns:

the Hebrew month, Tishery = 1 .. Adar I =13, Adar II = 14.

int \fBhdate_get_hyear\fP (\fBhdate_struct\fP const *h)

get the Hebrew year Parameters:

h pointer this hdate struct.

Returns:

the Hebrew year.

int \fBhdate_get_day_of_the_week\fP (\fBhdate_struct\fP const *h)

get the day of the week Parameters:

h pointer this hdate struct.

Returns:

the the day of the week.

int \fBhdate_get_size_of_year\fP (\fBhdate_struct\fP const *h)

get the size of the hebrew year Parameters:

h pointer this hdate struct.

Returns:

the the size of the hebrew year.

int \fBhdate_get_new_year_day_of_the_week\fP (\fBhdate_struct\fP const *h)

get the new year day of the week Parameters:

h pointer this hdate struct.

Returns:

the the new year day of the week.

int \fBhdate_get_julian\fP (\fBhdate_struct\fP const *h)

get the Julian day number Parameters:

h pointer this hdate struct.

Returns:

the Julian day number.

int \fBhdate_get_days\fP (\fBhdate_struct\fP const *h)

get the number of days passed since 1 tishrey Parameters:

h pointer this hdate struct.

Returns:

the number of days passed since 1 tishrey.

int \fBhdate_get_weeks\fP (\fBhdate_struct\fP const *h)

get the number of weeks passed since 1 tishrey Parameters:

h pointer this hdate struct.

Returns:

the number of weeks passed since 1 tishrey.

\fBhdate_struct\fP* \fBnew_hdate\fP ()

creat a new hdate struct object, must be deleted using delete_hdate. Returns:

a new hdate object

\fBhdate_struct\fP* \fBdelete_hdate\fP (\fBhdate_struct\fP *h)

delete an hdate struct object. Parameters:

h pointer this hdate struct.

char* \fBhdate_get_version_string\fP ()

Return a static string, with the package name and version. Returns:

a static string, with the package name and version

char* \fBhdate_get_translator_string\fP ()

name of translator Returns:

a static string with name of translator, or NULL if none.

int \fBhdate_is_hebrew_locale\fP ()

helper function to find hebrew locale Returns:

0 - latin locale, -1 - hebrew locale

char* \fBhdate_string\fP (inttype_of_string, intindex, intshort_form, inthebrew_form)

Return string values for hdate information. Returns:

a pointer to a string containing the information. In the cases integers and omer, the strings will NOT be static, and the caller must free() them after use. Returns a null pointer upon failure.

Parameters:

type_of_string 0 = integer, 1 = day of week, 2 = parshaot, 3 = hmonth, 4 = gmonth, 5 = holiday, 6 = omer

index integer ( 0 < n < 11000) day of week ( 0 < n < 8 ) parshaot ( 0 , n < 62 ) hmonth ( 0 < n < 15 ) gmonth ( 0 < n < 13 ) holiday ( 0 < n < 37 ) omer ( 0 < n < 50 )

short_form 0 = short format

hebrew_form 0 = not hebrew (native/embedded)

Author

Generated automatically by Doxygen for libhdate C language from the source code.