5 "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
9 "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
10 "Aug", "Sep", "Oct", "Nov", "Dec"
13 int uflg, nflg, iflg, tflg, mflg;
18 static char c[26]; /* leave room to append isotime */
19 snprint(c, 11, "%04d-%02d-%02d",
20 t->year + 1900, t->mon + 1, t->mday);
31 snprint(c, 10, "T%02d:%02d:%02d",
32 t->hour, t->min, t->sec); /* append to isodate */
42 snprint(c+10, 6, "%02d:%02d", tz / 60, tz % 60);
60 off = (t->tzoff/3600)*100 + (t->tzoff/60)%60;
61 snprint(c, sizeof(c), "%s, %.2d %s %.4d %.2d:%.2d:%.2d %s%.4d",
62 day[t->wday], t->mday, mon[t->mon], t->year + 1900,
63 t->hour, t->min, t->sec, sgn, off);
68 main(int argc, char *argv[])
73 case 'n': nflg = 1; break;
74 case 'u': uflg = 1; break;
75 case 't': tflg = 1; /* implies -i */
76 case 'i': iflg = 1; break;
77 case 'm': mflg = 1; break;
78 default: fprint(2, "usage: date [-itunm] [seconds]\n"); exits("usage");
82 now = strtoul(*argv, 0, 0);
89 tm = uflg ? gmtime(now) : localtime(now);
92 print("%s\n", isotime(tm));
94 print("%s\n", isodate(tm));
96 print("%s\n", mailtime(tm));
98 print("%s", asctime(tm));