time.c 910 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * 文件名: time.c
  3. * 目标: 关于time的实用函数
  4. */
  5. #include <time.h>
  6. #include "tool.h"
  7. /*
  8. * 函数名: safe_sleep
  9. * 目标: 等待指定的秒数(ms) 支持小数
  10. */
  11. void safeSleep(double ms) {
  12. time_t start = clock();
  13. time_t now;
  14. time_t d_time;
  15. time_t ms_t = (time_t) (ms * CLOCKS_PER_SEC);
  16. do {
  17. now = clock();
  18. d_time = now - start;
  19. } while (d_time < ms_t);
  20. }
  21. /*
  22. * 函数名: getTime
  23. * 目标: 格式化输出时间
  24. * 注意: 该函数不可以使用log模块
  25. */
  26. char *getTime(time_t *t) {
  27. time_t tmp;
  28. if (t == NULL)
  29. t = &tmp;
  30. struct tm *lt;
  31. time (t); // 获取时间戳
  32. lt = localtime (t); // 转为时间结构
  33. char time_str[100];
  34. snprintf(time_str, 100, "%d/%d/%d %d:%d:%d",
  35. lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);
  36. return strCopy(time_str);
  37. }