7

我有一个使用time_t数据类型的变量。我想将此类型转换为“YYYY-MM-DD HH:MM:SS”。我只知道它是否仅适用于localtime()示例:

char buff[20];
time_t now = time(NULL);
strftime(buff, 20, "%Y-%m-%d %H:%M:%S", localtime(&now));

任何建议如何转换它?因为我的时间总是每分钟都在增加,而不是像localtime(). 我需要这种转换来匹配datetimeMySQL 数据库中的类型。

4

1 回答 1

8

函数gmtimeand localtime(分别针对 UTC 和本地时间)将任意 time_t转换为 a struct tm,其中包含年、月等的单个字段。

然后,您可以strftime按原样使用,或者sprintf从它们创建字符串,例如:

char buff[11];
sprintf (buff, "%04d-%02d-%02d",
    mytm.tm_year + 1900,
    mytm.tm_mon + 1,
    mytm.tm_mday);
于 2014-01-14T05:48:50.937 回答