43 typedef struct das_time_t{
109 #define DAS_TIME_NULL {0, 0, 0, 0, 0, 0, 0.0}
144 unsigned short int daysSince1958,
unsigned int msOfDay,
das_time* dt
185 das_time* pDt,
int year,
int month,
int mday,
int yday,
int hour,
186 int minute,
double second
203 #define dt_cmp dt_compare
280 #define EPOCH 2436205
336 int jday (
int year,
int month,
int day);
Minimal definitions for das2 utilities that can safely be run without calling das_init().
Basic date-time structure used throughout the Das1 & Das2 utilities.
Definition: time.h:43
double second
Second of the minute, range 0.0 to 60.0 - epsilon.
Definition: time.h:69
DAS_API 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.
DAS_API double dt_ttime(const das_time *dt)
Convert time components to double seconds since January 1st 1958.
DAS_API double dt_diff(const das_time *pA, const das_time *pB)
Get the difference of two das_time structures in seconds.
int hour
Hour of day, range is 0 to 23.
Definition: time.h:60
DAS_API int64_t dt_nano_1970(const das_time *dt)
Convert a das time to integer nanoseconds since 1970-01-01.
DAS_API bool dt_now(das_time *pDt)
Initialize a das_time to the current UTC time.
DAS_API void dt_tnorm(das_time *dt)
Normalize date and time components.
DAS_API 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.
DAS_API int dt_compare(const das_time *pA, const das_time *pB)
Compare to dastime structures.
DAS_API void dt_copy(das_time *pDest, const das_time *pSrc)
Simple helper to copy values from one das time to another.
DAS_API void dt_from_tt2k(das_time *dt, int64_t nTime)
Convert a TT2000 time to a time structure.
DAS_API 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 minute
Minute of the hour, range 0 to 59.
Definition: time.h:63
int mday
Calender Day of month, starts at 1.
Definition: time.h:52
int yday
Integer Day of year, Jan.
Definition: time.h:57
DAS_API 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.
DAS_API bool dt_parsetime(const char *string, das_time *dt)
Convert most human-parseable time strings to numeric components.
DAS_API 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 year
Calendar year number, cannot hold years before 1 AD.
Definition: time.h:46
DAS_API 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.
DAS_API void dt_emitt(double tt, das_time *dt)
convert double seconds since epoch to time components.
int month
Calendar month number, 1 = January.
Definition: time.h:49
DAS_API int64_t dt_to_tt2k(const das_time *dt)
Convert a time structure to a TT2000 time.
DAS_API void dt_null(das_time *pDt)
Zero out all values in a das_time structrue.