【问题标题】:How to print unsigned int value as a time string in C如何在C中将无符号整数值打印为时间字符串
【发布时间】:2011-04-01 14:03:07
【问题描述】:

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

unsigned int t = 1281920090;

【问题讨论】:

标签: c datetime type-conversion


【解决方案1】:

您可以将函数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

【讨论】:

    【解决方案2】:

    这实际上是一个time_t,而不是一个无符号整数。

    您可以使用ctime 生成类似格式的简单字符串(或asctimelocaltimegmtime 的组合),或者您可以使用strftime 来指定您想要的确切格式。

    【讨论】:

    • isnt time_t just 'unsigned int' typedef'ed in time.h ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 2014-12-07
    • 2016-03-16
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多