在c中获取日期和时间

在c中获取日期和时间,c,string,date,time,C,String,Date,Time,我需要在C中以一个字符串的形式获取日期,以另一个字符串的形式获取当前时间。然后我必须使用一些字符串方法吗?我注意到C没有子字符串方法?Strcpy似乎可以工作,但我需要的是字符,而不是数组 有什么建议吗 谢谢您可以使用strftime进行以下操作: struct tm *tm; time_t t; char str_time[100]; char str_date[100]; t = time(NULL); tm = localtime(&t); strftime(str_time,

我需要在C中以一个字符串的形式获取日期,以另一个字符串的形式获取当前时间。然后我必须使用一些字符串方法吗?我注意到C没有子字符串方法?Strcpy似乎可以工作,但我需要的是字符,而不是数组

有什么建议吗


谢谢

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

您可以为此使用
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);

当我试着运行这个时,我遇到了一个分段错误?我是C语言的新手,我必须使用malloc tm吗?@是的,我忘了
localtime
需要
time.*
。我编辑了答案。但是,编译器应该已经警告过您。请尝试time\u t类型的变量,而不是NULL@noMAD那么
时间
应该接受
空值
。问题是它返回一个
time\u t
,而
localtime
想要一个
time\u t*
。当我尝试运行这个时,我遇到了一个分段错误?我是C语言的新手,我必须使用malloc tm吗?@是的,我忘了
localtime
需要
time.*
。我编辑了答案。但是,编译器应该已经警告过您。请尝试time\u t类型的变量,而不是NULL@noMAD那么
时间
应该接受
空值
。问题是它返回一个
time\u t
,而
localtime
需要一个
time\u t*