69#include <glib-object.h>
100GType time64_get_type(
void );
101#define GNC_TYPE_TIME64 (time64_get_type ())
108#define MAX_DATE_LENGTH 34
119#define QOF_UTC_DATE_FORMAT "%Y-%m-%dT%H:%M:%SZ"
134#define DATE_FORMAT_FIRST QOF_DATE_FORMAT_US
135#define DATE_FORMAT_LAST QOF_DATE_FORMAT_UTC
150 GNCDATE_MONTH_NUMBER,
151 GNCDATE_MONTH_ABBREV,
453gsize
qof_strftime(gchar *buf, gsize max,
const gchar *format,
454 const struct tm *tm);
485gchar* gnc_date_interval_format (
time64 from_date,
time64 to_date);
509gboolean
qof_scan_date (
const char *buff,
int *day,
int *month,
int *year);
525void gnc_tm_set_day_start (
struct tm *tm)
528 g_return_if_fail (tm != NULL);
544void gnc_tm_set_day_middle (
struct tm *tm)
547 g_return_if_fail (tm != NULL);
558void gnc_tm_set_day_end (
struct tm *tm)
561 g_return_if_fail (tm != NULL);
613#define MIN_BUF_LEN 10
time64 gnc_mktime(struct tm *time)
calculate seconds from the epoch given a time struct
int gnc_date_get_last_mday(int month, int year)
Get the numerical last date of the month.
void gnc_tm_set_day_neutral(struct tm *tm)
The gnc_tm_set_day_neutral() inline routine will set the appropriate fields in the struct tm to indic...
gboolean gnc_date_string_to_monthformat(const gchar *format_string, GNCDateMonthFormat *format)
Converts the month format to a printable string.
gint gnc_gdate_equal(gconstpointer gda, gconstpointer gdb)
Compares two GDate*'s for equality; useful for using GDate*'s as GHashTable keys.
void gnc_gdate_set_prev_year_end(GDate *date)
This function modifies a GDate to set it to the last day of the year prior to the one in which it fal...
void gnc_gdate_set_year_end(GDate *date)
This function modifies a GDate to set it to the last day of the year in which it falls.
time64 gnc_timegm(struct tm *time)
calculate seconds from the epoch given a time struct
void qof_date_format_set(QofDateFormat df)
The qof_date_format_set() routine sets date format to one of US, UK, CE, OR ISO.
const gchar * qof_date_text_format_get_string(QofDateFormat df)
This function returns a strftime formatting string for printing a date using words and numbers (e....
gdouble gnc_difftime(const time64 secs1, const time64 secs2)
Find the difference in seconds between two time values (deprecated)
void gnc_gdate_set_prev_month_end(GDate *date)
This function modifies a GDate to set it to the last day of the month prior to the one in which it fa...
gchar * gnc_time64_to_iso8601_buff(time64, char *buff)
The gnc_time64_to_iso8601_buff() routine takes the input UTC time64 value and prints it as an ISO-860...
void gnc_gdate_set_year_start(GDate *date)
This function modifies a GDate to set it to the first day of the year in which it falls.
size_t qof_print_date_time_buff(char *buff, size_t len, time64 secs)
Returns the number of bytes printed.
void gnc_dow_abbrev(gchar *buf, int buf_len, int dow)
Localized DOW abbreviation.
time64 gnc_dmy2time64_end(gint day, gint month, gint year)
Same as gnc_dmy2time64, but last second of the day.
gchar * gnc_ctime(const time64 *secs)
Return a string representation of a date from a 64-bit time value.
struct tm * gnc_localtime_r(const time64 *secs, struct tm *time)
fill out a time struct from a 64-bit time value adjusted for the current time zone.
gchar dateSeparator(void)
dateSeparator Return the field separator for the current date format
void qof_date_completion_set(QofDateCompletion dc, int backmonths)
The qof_date_completion_set() routing sets the date completion method to one of QOF_DATE_COMPLETION_T...
void gnc_gdate_set_time64(GDate *gd, time64 time)
Set a GDate to a time64.
guint gnc_gdate_hash(gconstpointer gd)
Provides a "hash" of a GDate* value; useful for using GDate*'s as GHashTable keys.
void gnc_tm_get_today_neutral(struct tm *tm)
The gnc_tm_get_today_start() routine takes a pointer to a struct tm and fills it in with the timezone...
gboolean qof_scan_date(const char *buff, int *day, int *month, int *year)
qof_scan_date Convert a string into day / month / year integers according to the current dateFormat v...
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...
size_t qof_print_date_dmy_buff(gchar *buff, size_t buflen, int day, int month, int year)
qof_print_date_dmy_buff Convert a date as day / month / year integers into a localized string represe...
QofDateFormat qof_date_format_get(void)
The qof_date_format_get routine returns the date format that the date printing will use when printing...
void gnc_gdate_set_prev_year_start(GDate *date)
This function modifies a GDate to set it to the first day of the year prior to the one in which it fa...
gboolean gnc_date_string_to_dateformat(const gchar *format_string, QofDateFormat *format)
Converts the date format to a printable string.
time64 gnc_dmy2time64_neutral(gint day, gint month, gint year)
Converts a day, month, and year to a time64 representing 11:00:00 UTC 11:00:00 UTC falls on the same ...
void gnc_gdate_set_quarter_start(GDate *date)
This function modifies a GDate to set it to the first day of the quarter in which it falls.
size_t qof_print_date_buff(char *buff, size_t buflen, time64 secs)
Convenience: calls through to qof_print_date_dmy_buff().
time64 gnc_time64_get_day_neutral(time64 time_val)
The gnc_time64_get_day_neutral() routine will take the given time in seconds and adjust it to 10:59:0...
char * qof_print_date(time64 secs)
Convenience; calls through to qof_print_date_dmy_buff().
GNCDateMonthFormat
This is how to format the month, as a number, an abbreviated string, or the full name.
time64 gnc_time64_get_day_start(time64 time_val)
The gnc_time64_get_day_start() routine will take the given time in seconds and adjust it to the first...
GDate * gnc_g_date_new_today(void)
Returns a newly allocated date of the current clock time, taken from time(2).
time64 gnc_time64_get_today_start(void)
The gnc_time64_get_today_start() routine returns a time64 value corresponding to the first second of ...
QofDateFormat
Enum for determining a date format.
time64 gnc_time64_get_day_end(time64 time_val)
The gnc_time64_get_day_end() routine will take the given time in seconds and adjust it to the last se...
void gnc_gdate_set_quarter_end(GDate *date)
This function modifies a GDate to set it to the last day of the quarter in which it falls.
void gnc_gdate_set_fiscal_year_start(GDate *date, const GDate *year_end)
This function modifies a GDate to set it to the first day of the fiscal year in which it falls.
void gnc_tm_get_today_end(struct tm *tm)
The gnc_tm_get_today_end() routine takes a pointer to a struct tm and fills it in with the last secon...
const gchar * gnc_date_dateformat_to_string(QofDateFormat format)
The string->value versions return FALSE on success and TRUE on failure.
void gnc_gdate_set_prev_quarter_end(GDate *date)
This function modifies a GDate to set it to the last day of the quarter prior to the one in which it ...
void gnc_gdate_set_month_start(GDate *date)
This function modifies a GDate to set it to the first day of the month in which it falls.
gint gnc_start_of_week(void)
returns an integer corresponding to locale start of week
void gnc_gdate_set_prev_fiscal_year_start(GDate *date, const GDate *year_end)
This function modifies a GDate to set it to the first day of the fiscal year prior to the one in whic...
void gnc_gdate_set_today(GDate *gd)
Set a GDate to the current day.
char * gnc_print_time64(time64 time, const char *format)
print a time64 as a date string per format
QofDateCompletion
Enum for date completion modes (for dates entered without year)
time64 gdate_to_time64(GDate d)
Turns a GDate into a time64, returning the first second of the day.
void gnc_tm_free(struct tm *time)
free a struct tm* created with gnc_localtime() or gnc_gmtime()
GDate time64_to_gdate(time64 t)
Returns the GDate in which the time64 occurs.
void gnc_gdate_set_prev_quarter_start(GDate *date)
This function modifies a GDate to set it to the first day of the quarter prior to the one in which it...
time64 gnc_time(time64 *tbuf)
get the current time
struct tm * gnc_localtime(const time64 *secs)
fill out a time struct from a 64-bit time value.
const gchar * qof_date_format_get_string(QofDateFormat df)
This function returns a strftime formatting string for printing an all numeric date (e....
void gnc_gdate_set_month_end(GDate *date)
This function modifies a GDate to set it to the last day of the month in which it falls.
time64 gnc_time64_get_day_end_gdate(const GDate *date)
The gnc_time64_get_day_end() routine will take the given time in GLib GDate format and adjust it to t...
struct tm * gnc_gmtime(const time64 *secs)
fill out a time struct from a 64-bit time value
size_t qof_print_gdate(char *buf, size_t bufflen, const GDate *gd)
Convenience; calls through to qof_print_date_dmy_buff().
time64 gnc_time64_get_day_start_gdate(const GDate *date)
The gnc_time64_get_day_start() routine will take the given time in GLib GDate format and adjust it to...
const char * gnc_default_strftime_date_format
The default date format for use with strftime.
time64 gnc_iso8601_to_time64_gmt(const gchar *)
The gnc_iso8601_to_time64_gmt() routine converts an ISO-8601 style date/time string to time64.
time64 time64CanonicalDayTime(time64 t)
convert a time64 on a certain day (localtime) to the time64 representing midday on that day.
void gnc_gdate_set_fiscal_year_end(GDate *date, const GDate *year_end)
This function modifies a GDate to set it to the last day of the fiscal year in which it falls.
void gnc_tm_get_today_start(struct tm *tm)
The gnc_tm_get_today_start() routine takes a pointer to a struct tm and fills it in with the first se...
time64 gnc_time64_get_today_end(void)
The gnc_time64_get_today_end() routine returns a time64 value corresponding to the last second of tod...
time64 gnc_dmy2time64(gint day, gint month, gint year)
Convert a day, month, and year to a time64, returning the first second of the day.
gsize qof_strftime(gchar *buf, gsize max, const gchar *format, const struct tm *tm)
qof_strftime calls qof_format_time to print a given time and afterwards tries to put the result into ...
void gnc_gdate_set_prev_month_start(GDate *date)
This function modifies a GDate to set it to the first day of the month prior to the one in which it f...
char * gnc_date_timestamp(void)
Make a timestamp in YYYYMMDDHHMMSS format.
void gnc_gdate_set_prev_fiscal_year_end(GDate *date, const GDate *year_end)
This function modifies a GDate to set it to the last day of the fiscal year prior to the one in which...
@ QOF_DATE_FORMAT_US
United states: mm/dd/yyyy.
@ QOF_DATE_FORMAT_LOCALE
Take from locale information.
@ QOF_DATE_FORMAT_UNSET
No Fancy Date Format, use Global.
@ QOF_DATE_FORMAT_UTC
UTC: 2004-12-12T23:39:11Z.
@ QOF_DATE_FORMAT_CE
Continental Europe: dd.mm.yyyy.
@ QOF_DATE_FORMAT_UK
Britain: dd/mm/yyyy.
@ QOF_DATE_FORMAT_CUSTOM
Used by the check printing code.
@ QOF_DATE_FORMAT_ISO
ISO: yyyy-mm-dd.
@ QOF_DATE_COMPLETION_THISYEAR
use current year
@ QOF_DATE_COMPLETION_SLIDING
use sliding 12-month window