6 "WW MMM DD hh:mm:ss ?Z YYYY",
8 "YYYY-MM-DD[T]hh:mm:ss[Z]?Z",
9 "YYYY-MM-DD[T]hh:mm:ss[Z]?Z",
10 "YYYY-MM-DD[T]hh:mm:ss ?Z",
11 "YYYY-MM-DD[T]hh:mm:ss?Z",
26 /* RFC 3339 and human-readable variants */
64 fprint(2, "usage: %s [-f fmt] date-time/win m...\n", argv0);
69 * seconds absolute_date ... - convert absolute_date to seconds since epoch
72 main(int argc, char **argv)
74 char **f, **df, **tf, **zf, *fmt, *ep, buf[256];
88 if((tz = tzload("local")) == nil)
89 sysfatal("bad local time: %r");
90 for(i = 0; i < argc; i++){
92 if(tmparse(&tm, fmt, argv[i], tz, &ep) != nil && *ep == 0)
95 for(f = knownfmt; *f != nil; f++)
96 if(tmparse(&tm, *f, argv[i], tz, &ep) != nil && *ep == 0)
98 for(df = datefmt; *df; df++)
99 for(tf = timefmt; *tf; tf++)
100 for(zf = zonefmt; *zf; zf++){
101 snprint(buf, sizeof(buf), "%s%s%s", *df, *tf, *zf);
102 if(tmparse(&tm, buf, argv[i], tz, &ep) != nil && *ep == 0)
107 sysfatal("tmparse: %r");
109 sysfatal("tmparse: trailing junk");
111 print("%lld\n", tmnorm(&tm));