0

我知道如何获取当前日期和时间并将其保存到数组中。但我想以格式打印它:dd.mm.YYY_HH:MM:ss. 我怎样才能改变我的代码来实现这一点?

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

char *datetime()
{
    char *array = (char*)malloc(sizeof(char)*25);
    time_t result;
    result = time(NULL);
    sprintf(array, "%s", asctime(localtime(&result)));
    array[25] = '\0';
    return array;
}

int main(void)
{
    // prints Sat Aug  3 18:39:07 2013
    printf("%s", datetime());

    // how to print:
    // 03.08.2013_18:39:07
    // ?

    return(0);
}
4

2 回答 2

1

您可以使用strftime 功能: http ://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html

strftime在 7.23.3.5 的 C99 标准中进行了描述。

于 2013-08-03T16:55:16.627 回答
1

使用 strftime - 见这里

这看起来像这样 -

time_t rawtime;

time (&rawtime);
struct tm  *timeinfo = localtime (&rawtime);
strftime(array, sizeof(array)-1, "%d.%m.%y_%H:%M:%S", timeinfo);
于 2013-08-03T17:05:30.187 回答