src/hdate.h(3) libhdate C language header.

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 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 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 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

Function Documentation

hdate_struct* hdate_set_gdate (hdate_struct *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

hdate_struct* hdate_set_hdate (hdate_struct *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

hdate_struct* hdate_set_jd (hdate_struct *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* hdate_get_format_date (hdate_struct 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 hdate_get_parasha (hdate_struct 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 hdate_get_holyday (hdate_struct 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* hdate_get_int_string (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* hdate_get_day_string (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* hdate_get_month_string (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* hdate_get_hebrew_month_string (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* hdate_get_holyday_string (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* hdate_get_parasha_string (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* hdate_get_omer_string (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 hdate_get_omer_day (hdate_struct 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 hdate_get_holyday_type (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 hdate_get_size_of_hebrew_year (inthebrew_year)

size of hebrew year in days. Parameters:

hebrew_year the hebrew year.

Returns:

size of Hebrew year

int hdate_days_from_3744 (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 hdate_get_year_type (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 hdate_gdate_to_jd (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 hdate_hdate_to_jd (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 hdate_jd_to_gdate (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 hdate_jd_to_hdate (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 hdate_get_day_of_year (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 hdate_get_utc_sun_time_deg (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 hdate_get_utc_sun_time (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 hdate_get_utc_sun_time_full (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 hdate_get_gday (hdate_struct 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 hdate_get_gmonth (hdate_struct const *h)

get the Gregorian month Parameters:

h pointer this hdate struct.

Returns:

the Gregorian month, jan = 1.

int hdate_get_gyear (hdate_struct const *h)

get the Gregorian year Parameters:

h pointer this hdate struct.

Returns:

the Gregorian year.

int hdate_get_hday (hdate_struct 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 hdate_get_hmonth (hdate_struct 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 hdate_get_hyear (hdate_struct const *h)

get the Hebrew year Parameters:

h pointer this hdate struct.

Returns:

the Hebrew year.

int hdate_get_day_of_the_week (hdate_struct const *h)

get the day of the week Parameters:

h pointer this hdate struct.

Returns:

the the day of the week.

int hdate_get_size_of_year (hdate_struct const *h)

get the size of the hebrew year Parameters:

h pointer this hdate struct.

Returns:

the 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 Parameters:

h pointer this hdate struct.

Returns:

the the new year day of the week.

int hdate_get_julian (hdate_struct const *h)

get the Julian day number Parameters:

h pointer this hdate struct.

Returns:

the Julian day number.

int hdate_get_days (hdate_struct 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 hdate_get_weeks (hdate_struct 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.

hdate_struct* new_hdate ()

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

a new hdate object

hdate_struct* delete_hdate (hdate_struct *h)

delete an hdate struct object. Parameters:

h pointer this hdate struct.

char* hdate_get_version_string ()

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

a static string, with the package name and version

char* hdate_get_translator_string ()

name of translator Returns:

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

int hdate_is_hebrew_locale ()

helper function to find hebrew locale Returns:

0 - latin locale, -1 - hebrew locale

char* hdate_string (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.