我知道如何获得当前日期&时间并将其保存到数组中。但我想以格式打印它: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);
}
答案 0 :(得分:1)
您可以使用strftime
功能:
http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
strftime
在C99标准7.23.3.5中有描述。
答案 1 :(得分:1)
使用strftime - 请参阅here
这将是这样的 -
time_t rawtime;
time (&rawtime);
struct tm *timeinfo = localtime (&rawtime);
strftime(array, sizeof(array)-1, "%d.%m.%y_%H:%M:%S", timeinfo);