从整数纪元时间值转换为本地时间

Clo*_*aby 1 c time epoch

我一直坚持从整数纪元时间值转换为本地时间.

我目前有时间,因为epoch存储在一个整数变量中,我需要一种方法将其转换为本地时间.

我已经尝试将它传递到本地时间但它似乎不起作用.

如果我打电话,我可以让当地时间工作

  time_t rawtime;
  struct tm * timeinfo;

  time ( &rawtime );
  timeinfo = localtime ( &rawtime );
Run Code Online (Sandbox Code Playgroud)

直接获取rawtime,但是如果我想给localtime()一个整数值而不仅仅是当前时间,我就会陷入困境.

Aus*_*ips 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);
Run Code Online (Sandbox Code Playgroud)