如何获取当前日期和时间并将其以适当的格式保存到char*数组中?
我知道如何获取当前日期和时间并将其保存到数组中。但我想以以下格式打印它:如何获取当前日期和时间并将其以适当的格式保存到char*数组中?,c,date,datetime,time,arrays,C,Date,Datetime,Time,Arrays,我知道如何获取当前日期和时间并将其保存到数组中。但我想以以下格式打印它:dd.mm.YYY\u 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
dd.mm.YYY\u 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);
}
#包括
#包括
char*datetime()
{
char*数组=(char*)malloc(sizeof(char)*25);
时间&结果;
结果=时间(空);
sprintf(数组,“%s”,asctime(localtime(&result));
数组[25]='\0';
返回数组;
}
内部主(空)
{
//打印日期:2013年8月3日星期六18:39:07
printf(“%s”,datetime());
//如何打印:
// 03.08.2013_18:39:07
// ?
返回(0);
}
您可以使用strftime
功能:
strftime
在C99标准7.23.3.5中进行了描述。使用strftime-请参阅
这看起来像这样-
time_t rawtime;
time (&rawtime);
struct tm *timeinfo = localtime (&rawtime);
strftime(array, sizeof(array)-1, "%d.%m.%y_%H:%M:%S", timeinfo);
使用。嗯,就像你写的那样,但是得到了奇怪的输出。我的编辑代码:和我的输出:。为什么呢?