OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
datetime.h
Go to the documentation of this file.
1
22#ifndef DATETIME_H
23#define DATETIME_H
24
29typedef double DateTime;
30
35#define Y_M_D 0
36
41#define M_D_Y 1
42
47#define D_M_Y 2
48
53#define NO_DATE -693594 // 1/1/0001
54
59#define DATE_STR_SIZE 12
60
65#define TIME_STR_SIZE 9
66
71#define TIME_STAMP_SIZE 21
72
80DateTime datetime_encodeDate(int year, int month, int day);
81
89DateTime datetime_encodeTime(int hour, int minute, int second);
90
98void datetime_decodeDate(DateTime date, int* y, int* m, int* d);
99
107void datetime_decodeTime(DateTime time, int* h, int* m, int* s);
108
115
122
129
136
143int datetime_daysPerMonth(int year, int month);
144
150void datetime_dateToStr(DateTime date, char* s);
151
157void datetime_timeToStr(DateTime time, char* s);
158
165void datetime_getTimeStamp(int fmt, DateTime aDate, int stampSize, char* timeStamp);
166
172int datetime_findMonth(char* s);
173
180int datetime_strToDate(char* s, DateTime* d);
181
188int datetime_strToTime(char* s, DateTime* t);
189
194void datetime_setDateFormat(int fmt);
195
202DateTime datetime_addSeconds(DateTime date1, double seconds);
203
211
218long datetime_timeDiff(DateTime date1, DateTime date2);
219
220
221#endif //DATETIME_H
void datetime_getTimeStamp(int fmt, DateTime aDate, int stampSize, char *timeStamp)
Converts a DateTime value to a string.
Definition datetime.c:510
void datetime_dateToStr(DateTime date, char *s)
Converts a DateTime value to a string.
Definition datetime.c:245
int datetime_monthOfYear(DateTime date)
Finds the month of the year for a date.
Definition datetime.c:439
int datetime_strToDate(char *s, DateTime *d)
Converts a string to a DateTime value.
Definition datetime.c:284
DateTime datetime_addDays(DateTime date1, DateTime date2)
Adds days to a DateTime value.
Definition datetime.c:397
DateTime datetime_encodeTime(int hour, int minute, int second)
Encodes a time value from hour, minute, and second to a DateTime value.
Definition datetime.c:136
int datetime_strToTime(char *s, DateTime *t)
Converts a string to a DateTime value.
Definition datetime.c:338
int datetime_dayOfYear(DateTime date)
Finds the day of the year for a date.
Definition datetime.c:453
double DateTime
Type for storing date and time values.
Definition datetime.h:29
int datetime_daysPerMonth(int year, int month)
Finds the number of days in a month.
Definition datetime.c:496
long datetime_timeDiff(DateTime date1, DateTime date2)
Finds the difference in seconds between two DateTime values.
Definition datetime.c:416
void datetime_decodeTime(DateTime time, int *h, int *m, int *s)
Decodes a DateTime value to hour, minute, and second.
Definition datetime.c:224
int datetime_hourOfDay(DateTime date)
Finds the hour of the day for a time.
Definition datetime.c:482
DateTime datetime_encodeDate(int year, int month, int day)
Encodes a date values from year, month, and day to a DateTime value.
Definition datetime.c:108
int datetime_findMonth(char *s)
Finds the month of the year for a date.
Definition datetime.c:89
DateTime datetime_addSeconds(DateTime date1, double seconds)
Adds seconds to a DateTime value.
Definition datetime.c:381
void datetime_setDateFormat(int fmt)
Sets the date format.
Definition datetime.c:369
void datetime_timeToStr(DateTime time, char *s)
Converts a DateTime value to a string.
Definition datetime.c:270
void datetime_decodeDate(DateTime date, int *y, int *m, int *d)
Decodes a DateTime value to year, month, and day.
Definition datetime.c:158
int datetime_dayOfWeek(DateTime date)
Finds the day of the week for a date.
Definition datetime.c:469
double * y
Definition odesolve.c:28