我一直坚持从整数纪元时间值转换为本地时间。
我目前有时间,因为epoch存储在整数变量中,我需要一种方法将其转换为本地时间。
我已经尝试将其传递到本地时间,但它似乎无法正常工作。
如果我只是致电
,我可以让本地时间工作 time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
直接获取rawtime,但如果我想给localtime()一个整数值而不仅仅是当前时间,我就会陷入困境。
答案 0 :(得分:7)
localtime()
函数指向const time_t
,因此您必须先将整数纪元值转换为time_t
,然后再调用localtime
。
int epoch_time = SOME_VALUE;
struct tm * timeinfo;
/* Conversion to time_t as localtime() expects a time_t* */
time_t epoch_time_as_time_t = epoch_time;
/* Call to localtime() now operates on time_t */
timeinfo = localtime(&epoch_time_as_time_t);