80 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365
86 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366
92 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
186 wholenumber_t basedate = (tempYear * 365) + (tempYear / 4) - (tempYear / 100) + (tempYear / 400);
334 for (
int i = 0; ; i++)
337 if (monthTable[i] >= basedays)
341 day = (int)(basedays - monthTable[i - 1]);
460 for (
int i = 0; ; i++)
463 if (monthTable[i] >= (
int)basedays)
467 day = (int)basedays - monthTable[i - 1];
783 const char *inputscan = date;
784 const char *formatscan = format;
786 if (strlen(date) > strlen(format))
791 while (*formatscan !=
'\0')
827 int numberLength = 1;
829 if (isdigit(*(inputscan + 1)))
838 inputscan += numberLength;
904 year += (int)((currentYear / 100) * 100);
907 if (
year < currentYear)
942 for (
int i = 0; i <
MONTHS; i++)
996 int numberLength = 1;
998 if (isdigit(*(inputscan +1)))
1007 inputscan += numberLength;
1021 if (*inputscan != *sep)
1033 if (*inputscan != *formatscan)
1086 while (length-- > 0)
1088 char digit = *input;
1092 value = (value * 10) + (digit -
'0');
1102 *target = (int)value;
1176 snprintf(buffer, size,
"%d", (
int)
getYearDay());
1191 sep = sep == NULL ?
"/" : sep;
1192 snprintf(buffer, size,
"%02d%s%02d%s%02d",
day, sep,
month, sep,
year % 100);
1218 sep = sep == NULL ?
" " : sep;
1234 sep = sep == NULL ?
"/" : sep;
1235 snprintf(buffer, size,
"%02d%s%02d%s%02d",
year % 100, sep,
month, sep,
day);
1250 sep = sep == NULL ?
"" : sep;
1251 snprintf(buffer, size,
"%04d%s%02d%s%02d",
year, sep,
month, sep,
day);
1266 sep = sep == NULL ?
"/" : sep;
1267 snprintf(buffer, size,
"%02d%s%02d%s%02d",
month, sep,
day, sep,
year % 100);
1292 int adjustedHours =
hours;
1293 if (adjustedHours == 0)
1297 else if (adjustedHours > 12)
1299 adjustedHours -= 12;
1312 snprintf(buffer, size,
"%d",
hours);
#define MICROSECONDS_IN_DAY
#define SECONDS_IN_MINUTE
static size_t formatInt64(int64_t integer, char *dest)
void formatNormalDate(char *buffer, size_t size, const char *sep)
static const char * monthNames[]
void formatMinutes(char *buffer, size_t size)
wholenumber_t getTimeSeconds()
void formatHours(char *buffer, size_t size)
wholenumber_t getWeekDay()
static const char * dayNames[]
void formatNormalTime(char *buffer, size_t size)
void formatBaseTime(char *buffer)
void formatBaseDate(char *buffer, size_t size)
void formatWeekDay(char *buffer)
void setDate(wholenumber_t newYear, wholenumber_t newDay)
void formatMonthName(char *buffer)
wholenumber_t getYearDay()
bool setMinutes(wholenumber_t m)
void formatCivilTime(char *buffer, size_t size)
bool setBaseDate(wholenumber_t basedays)
void setTimeInSeconds(wholenumber_t basetime)
bool parseUsaDate(const char *date, const char *sep, wholenumber_t currentYear)
bool parseOrderedDate(const char *date, const char *sep, wholenumber_t currentYear)
bool getNumber(const char *input, wholenumber_t length, int *target)
void formatLongTime(char *buffer, size_t size)
bool parseNormalTime(const char *date)
void formatTimeZone(char *buffer)
void formatUsaDate(char *buffer, size_t size, const char *sep)
void formatSeconds(char *buffer, size_t size)
bool parseLongTime(const char *date)
static RexxDateTime maxBaseTime
bool parseEuropeanDate(const char *date, const char *sep, wholenumber_t currentYear)
bool parseCivilTime(const char *date)
const char * getDayName()
void formatDays(char *buffer, size_t size)
const char * getMonthName()
void formatStandardDate(char *buffer, size_t size, const char *sep)
static int leapMonthStarts[]
bool parseDateTimeFormat(const char *date, const char *format, const char *sep, wholenumber_t currentYear)
bool setBaseTime(int64_t basetime)
bool setHours(wholenumber_t h)
bool parseStandardDate(const char *date, const char *sep)
bool parseNormalDate(const char *date, const char *sep)
bool adjustTimeZone(int64_t o)
bool setUnixTime(int64_t basetime)
void formatEuropeanDate(char *buffer, size_t size, const char *sep)
void setDay(wholenumber_t basedays)
static RexxDateTime unixBaseTime
wholenumber_t getBaseDate()
void formatUnixTime(char *buffer)
void formatOrderedDate(char *buffer, size_t size, const char *sep)
bool setSeconds(wholenumber_t s)