如何在C中打印unsigned int值作为时间字符串

时间:2010-08-20 09:58:22

标签: c datetime type-conversion

我需要将此值作为时间字符串打印到Mon-Aug-2010 06:24格式或类似的东西。

unsigned int t = 1281920090;

2 个答案:

答案 0 :(得分:4)

您可以将功能gmtimeasctime用作:

#include <stdio.h>
#include <time.h>

int main() {
        time_t timestamp = 1281920090;
        printf("%s", asctime(gmtime(&timestamp)));
        return 0;
}

输出:

$ gcc a.c && ./a.out
Mon Aug 16 00:54:50 2010

答案 1 :(得分:2)

实际上这是一个time_t而不是一个无符号的int。

您可以使用ctime生成类似格式的简单字符串(或asctimelocaltimegmtime的组合),或者您可以使用{{1指定所需的确切格式。