c程序中特定格式的系统时间

时间:2013-12-04 06:41:11

标签: c time systemtime

我正在使用RED HAT机器。我想在我的程序中获得系统时间。下面是代码的一部分。 date=%Y-%m-%d time=%H:%M:%S是我想要的格式。 问题是它给了我GMT时间而不是我当前的系统时间。 如何以这种格式获得system time

char *buf_cur = buf;
    char timestr[TIMEBUF_SIZE];
    time_t now = time (0);

    strftime(timestr,TIMEBUF_SIZE, "date=%Y-%m-%d time=%H:%M:%S", localtime(&now));
    buf_cur += sprintf(buf_cur, "%s",timestr);

简而言之,我想要一个“date”命令在linux中给出的时间。以上格式。

2 个答案:

答案 0 :(得分:2)

localtime()函数将日历时间timep转换为broken-        停机时间表示,相对于用户指定的表示        timezoneGMT

要在UTC中抽出时间,您应该使用gmtime()

答案 1 :(得分:0)

如果BIOS时间设置为机器位置的本地时间,则时区设置为位置的时区,则显示的代码应为您提供当地时间。

  • 检查/ adjust机器的时区。
  • 检查/调整机器BIOS中设置的时间