【问题标题】:getting date and time in c在c中获取日期和时间
【发布时间】:2012-03-03 05:42:15
【问题描述】:

我需要在 C 中将日期作为一个字符串,将当前时间作为另一个字符串。我查看了 time.h 并看到它可以让我得到整个事情。然后我必须使用一些字符串方法吗?我注意到 C 没有子字符串方法? strcpy 似乎可以工作,但我需要一个 char * 而不是数组。

有什么建议吗?

谢谢

【问题讨论】:

    标签: c string date time


    【解决方案1】:

    您可以为此使用strftime

    struct tm *tm;
    time_t t;
    char str_time[100];
    char str_date[100];
    
    t = time(NULL);
    tm = localtime(&t);
    
    strftime(str_time, sizeof(str_time), "%H %M %S", tm);
    strftime(str_date, sizeof(str_date), "%d %m %Y", tm);
    

    【讨论】:

    • 我在尝试运行时遇到分段错误?我对 C 很陌生,我必须 malloc tm 吗?
    • @drunkmonkey 是的,我忘了localtime 期望time_t *。我编辑了答案。你的编译器应该已经警告过你了。
    • 尝试使用 time_t 类型的变量而不是 NULL
    • @noMAD 好吧,time 应该接受NULL。问题是它返回一个time_tlocaltime 想要一个time_t *
    猜你喜欢
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多