1

整数エポック時間値から現地時間への変換に行き詰まっています。

現在、エポック以降の時間が整数変数に格納されており、それを現地時間に変換する方法が必要です。

localtime に渡そうとしましたが、うまくいかないようです。

単純に呼び出すだけで、ローカルタイムを機能させることができます

  time_t rawtime;
  struct tm * timeinfo;

  time ( &rawtime );
  timeinfo = localtime ( &rawtime );

rawtime を直接取得しますが、 localtime() に現在の時刻ではなく整数値を指定したい場合は行き詰まります。

4

1 に答える 1

7

このlocaltime()関数は へのポインターを受け取るため、を呼び出す前const time_tに、まず整数のエポック値を に変換する必要があります。time_tlocaltime

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);
于 2013-02-04T00:43:10.863 に答える