使用C,我想将UNIX时间戳编号转换为几个常用日期数据。
如何在使用C时将UNIX时间戳(如12997424)转换为表示秒,分钟,小时和天的不同数字?
答案 0 :(得分:4)
使用标准库中的gmtime
或localtime
。原型在time.h中定义。
ADDED&编辑:
例如,以下代码打印当前时间戳,小时和分钟:
#include <stdio.h>
#include <time.h>
void main() {
time_t t;
struct tm ttm;
t = time(NULL);
printf("Current timestamp: %d\n", t);
ttm = * localtime(&t);
printf("Current time: %02d:%02d\n", ttm.tm_hour, ttm.tm_min);
}
答案 1 :(得分:0)
以下是如何使用localtime将time_t转换为tm作为本地时间的示例(信用转到www.cplusplusreference.com):
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
printf ("Current local time and date: %s", asctime(timeinfo));
return 0;
}