在c中获取日期和时间

问题描述:

我需要将日期作为一个字符串并将当前时间作为另一个字符。我查看了time.h并且看到它允许我获取整个事物。然后我必须使用一些字符串方法吗?我注意到C没有一个子字符串方法? Strcpy好像可能会工作,但我需要一个char *而不是数组。在c中获取日期和时间

有什么建议吗?

感谢

+0

搜索'strftime'。 – 2012-02-10 18:52:40

您可以使用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); 
+0

当我尝试运行此操作时,出现分段错误?我对C非常陌生,是否必须使用malloc tm? – drunkmonkey 2012-02-10 19:21:38

+0

@drunkmonkey是的,我忘了'localtime'期待'time_t *'。我编辑了答案。你的编译器应该已经警告过你。 – cnicutar 2012-02-10 19:24:28

+0

尝试类型time_t而不是NULL的变量 – noMAD 2012-02-10 19:26:07