哪个函数可以用C语言中的 d / m / y 格式返回当前日期时间?
修改
这是我的代码:
#include <stdio.h>
#include <time.h>
int main()
{
time_t tmp_time;
struct tm * info;
time ( &tmp_time );
info = localtime ( &tmp_time );
printf ( "%s", asctime (info) );
}
这让我回想起2017年1月26日星期四13:08:01,我想回复26/01/17或26/01/2017
答案 0 :(得分:1)
像这样:
int main ()
{
time_t rawtime;
struct tm * currentTime;
time ( &rawtime );
currentTime = localtime ( &rawtime );
printf ( "%d/%d/%d", currentTime->tm_mday, currentTime->tm_mon+1, currentTime->tm_year+1900);
return 0;
}
请注意,月从0开始编入索引,年是 tm 结构中的1900以来
。答案 1 :(得分:1)
也许是这样:
#include <stdio.h>
#include <time.h>
int main()
{
time_t t = time(0);
if((time_t)-1 == t){
perror(0);
exit(1);
}
char buf[64];
struct tm tdata;
//I believe the 2 calls below should always succeed
//in this context
localtime_r(&t, &tdata);
strftime(buf, sizeof(buf), "%d/%m/%y", &tdata);
puts(buf);
}
localtime(3)联机帮助页显示strftime
是推荐的方法,strftime(3)联机帮助页提供了类似的示例。
答案 2 :(得分:1)
你可以这样做
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t mytime = time(NULL);
struct tm date = *localtime(&mytime);
printf("now: %d/%d/%d\n", date.tm_mday,date.tm_mon + 1,date.tm_year +1900 );
return 0;
}
如果你想让它成为一个函数发送日期作为参数并返回一个int数组保存日月和年