47 typedef struct das_time_t{
108 unsigned short int daysSince1958,
unsigned int msOfDay,
das_time* dt
149 das_time* pDt,
int year,
int month,
int mday,
int yday,
int hour,
150 int minute,
double second
199 char*
dt_isoc(
char* sBuf,
size_t nLen,
const das_time* pDt,
int nFracSec);
217 char*
dt_isod(
char* sBuf,
size_t nLen,
const das_time* pDt,
int nFracSec);
241 #define EPOCH 2436205
286 int jday (
int year,
int month,
int day);
int dt_compare(const das_time *pA, const das_time *pB)
Compare to dastime structures.
double dt_ttime(const das_time *dt)
Convert time components to double seconds since January 1st 1958.
int yday
Integer Day of year, Jan.
Definition: time.h:61
bool dt_parsetime(const char *string, das_time *dt)
Convert most human-parseable time strings to numeric components.
char * dt_dual_str(char *sBuf, size_t nLen, const das_time *pDt, int nFracSec)
Print time a string that provides both day of month and day of year given a das_time structure...
int mday
Calender Day of month, starts at 1.
Definition: time.h:56
double second
Second of the minute, range 0.0 to 60.0 - epsilon.
Definition: time.h:73
void dt_emitt(double tt, das_time *dt)
convert double seconds since epoch to time components.
int year
Calendar year number, cannot hold years before 1 AD.
Definition: time.h:50
bool dt_now(das_time *pDt)
Initialize a das_time to the current UTC time.
double dt_diff(const das_time *pA, const das_time *pB)
Get the difference of two das_time structures in seconds.
void dt_tnorm(das_time *dt)
Normalize date and time components.
void dt_from_1958(unsigned short int daysSince1958, unsigned int msOfDay, das_time *dt)
Get a das time given days since 1958 and optional milliseconds of day.
char * dt_isod(char *sBuf, size_t nLen, const das_time *pDt, int nFracSec)
Print an ISOD standard time string given a das_time structure.
void dt_set(das_time *pDt, int year, int month, int mday, int yday, int hour, int minute, double second)
Simple helper to set values in a das time.
void dt_copy(das_time *pDest, const das_time *pSrc)
Simple helper to copy values from one das time to another.
int month
Calendar month number, 1 = January.
Definition: time.h:53
char * dt_isoc(char *sBuf, size_t nLen, const das_time *pDt, int nFracSec)
Print an ISOC standard time string given a das_time structure.
int hour
Hour of day, range is 0 to 23.
Definition: time.h:64
int minute
Minute of the hour, range 0 to 59.
Definition: time.h:67
bool dt_in_range(const das_time *begin, const das_time *end, const das_time *test)
Test for time within a time range The the standard exclusive upper bound test.
Basic date-time structure used throughout the Das1 & Das2 utilities.
Definition: time.h:47
int64_t dt_nano_1970(const das_time *dt)
Convert a das time to integer nanoseconds since 1970-01-01.
void dt_null(das_time *pDt)
Zero out all values in a das_time structrue.