質問: 元期J2000.0(2000年1月1日正午)からの経過秒数を入力すると年月日時分秒を計算するコードを書きたいです。参考サイトでもヒントでも良いので教えていただけると幸いです。
回答: 1970年 1月 1日 木曜日 09時00分00秒 JST からの経過秒数で時刻を表現する UNIX time ってのがすでにあるので、それにオフセット足す感じでどうでしょうか。 C++ だとこんな感じで。 ``` #include using namespace std; void asdf (time_t x) { time_t foo = 946728000l + x; tm *bar = gmtime(&foo); char buf[80]; strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S GMT", bar); cout << buf << endl; } int main () { asdf(100l); // 2000-01-01 12:01:40 GMT asdf(1000l); // 2000-01-01 12:16:40 GMT asdf(10000l); // 2000-01-01 14:46:40 GMT asdf(100000l); // 2000-01-02 15:46:40 GMT } ```