emscripten/tests/core/test_strptime_days.in

33 строки
1.1 KiB
Plaintext

#include <time.h>
#include <stdio.h>
#include <string.h>
static const struct {
const char *input;
const char *format;
} day_tests[] = {{"2000-01-01", "%Y-%m-%d"},
{"03/03/00", "%D"},
{"9/9/99", "%x"},
{"19990502123412", "%Y%m%d%H%M%S"},
{"2001 20 Mon", "%Y %U %a"},
{"2006 4 Fri", "%Y %U %a"},
{"2001 21 Mon", "%Y %W %a"},
{"2013 29 Wed", "%Y %W %a"},
{"2000-01-01 08:12:21 AM", "%Y-%m-%d %I:%M:%S %p"},
{"2000-01-01 08:12:21 PM", "%Y-%m-%d %I:%M:%S %p"},
{"2001 17 Tue", "%Y %U %a"},
{"2001 8 Thursday", "%Y %W %a"}, };
int main() {
struct tm tm;
for (int i = 0; i < sizeof(day_tests) / sizeof(day_tests[0]); ++i) {
memset(&tm, '\0', sizeof(tm));
char *ptr = strptime(day_tests[i].input, day_tests[i].format, &tm);
printf("%s: %d/%d/%d (%dth DoW, %dth DoY)\n",
(ptr != NULL && *ptr == '\0') ? "OK" : "ERR", tm.tm_mon + 1,
tm.tm_mday, 1900 + tm.tm_year, tm.tm_wday, tm.tm_yday);
}
}