time.c 497 B

12345678910111213141516171819202122232425
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <venti.h>
  4. int
  5. vttimefmt(Fmt *fmt)
  6. {
  7. vlong ns;
  8. Tm tm;
  9. if(fmt->flags&FmtLong){
  10. ns = nsec();
  11. tm = *localtime(ns/1000000000);
  12. return fmtprint(fmt, "%04d/%02d%02d %02d:%02d:%02d.%03d",
  13. tm.year+1900, tm.mon+1, tm.mday,
  14. tm.hour, tm.min, tm.sec,
  15. (int)(ns%1000000000)/1000000);
  16. }else{
  17. tm = *localtime(time(0));
  18. return fmtprint(fmt, "%04d/%02d%02d %02d:%02d:%02d",
  19. tm.year+1900, tm.mon+1, tm.mday,
  20. tm.hour, tm.min, tm.sec);
  21. }
  22. }