目标是一个函数,它将int(或long)与实际时间一起传递。 我为此将本地时间写入一个字符串(据我了解),并尝试将它与atoi/atol转换为我的int/long。但不知何故,我没有得到预期的结果。将字符串从strftime转换为int/long
事情我已经尝试:
- 我从最初的INT切换到长。
- 我改变了我的字符串的大小。如果我将它调整为7而不是我需要的15个字节,它至少会转换我的字符串的日期部分。但我需要一切。
我有下面的代码:
long generate_time()
{
time_t time1;
time(&time1);
char time_str[15];
long act_time;
strftime(time_str, 15, "%Y%m%d%H%M%S", localtime(&time1));
printf("Actual time: %s\n", time_str);
act_time = atol(time_str);
printf("Transformed time: %d\n", act_time);
return act_time;
}
在响应中得到的:
实际时间:20170407091221 转化时间:1240669205
我希望这很容易理解,并提前感谢大家的帮助!
你应该转换代码,以英语之前发布您的问题。用户可以更好地帮助你,如果明白你写的是什么... – LPs
你想以时间戳格式返回时间吗?作为整数值返回20170407091221是没有意义的。 –
谢谢你指出。我改变了它。 – Mathias