Blame


1 d20564a9 2006-07-18 devnull #include <u.h>
2 d20564a9 2006-07-18 devnull #include <libc.h>
3 d20564a9 2006-07-18 devnull #include <venti.h>
4 d20564a9 2006-07-18 devnull
5 d20564a9 2006-07-18 devnull int
6 d20564a9 2006-07-18 devnull vttimefmt(Fmt *fmt)
7 d20564a9 2006-07-18 devnull {
8 d20564a9 2006-07-18 devnull vlong ns;
9 d20564a9 2006-07-18 devnull Tm tm;
10 d20564a9 2006-07-18 devnull
11 ece9d931 2008-12-23 rsc if(fmt->flags&FmtSign){
12 ece9d931 2008-12-23 rsc ns = va_arg(fmt->args, long);
13 ece9d931 2008-12-23 rsc ns *= 1000000000;
14 ece9d931 2008-12-23 rsc } else
15 d20564a9 2006-07-18 devnull ns = nsec();
16 ece9d931 2008-12-23 rsc tm = *localtime(ns/1000000000);
17 ece9d931 2008-12-23 rsc if(fmt->flags&FmtLong){
18 fa325e9b 2020-01-10 cross return fmtprint(fmt, "%04d/%02d%02d %02d:%02d:%02d.%03d",
19 fa325e9b 2020-01-10 cross tm.year+1900, tm.mon+1, tm.mday,
20 d20564a9 2006-07-18 devnull tm.hour, tm.min, tm.sec,
21 d20564a9 2006-07-18 devnull (int)(ns%1000000000)/1000000);
22 d20564a9 2006-07-18 devnull }else{
23 fa325e9b 2020-01-10 cross return fmtprint(fmt, "%04d/%02d%02d %02d:%02d:%02d",
24 fa325e9b 2020-01-10 cross tm.year+1900, tm.mon+1, tm.mday,
25 d20564a9 2006-07-18 devnull tm.hour, tm.min, tm.sec);
26 d20564a9 2006-07-18 devnull }
27 d20564a9 2006-07-18 devnull }