元期J2000.0(2000年1月1日正午)からの経過秒数を入力すると年月日時分秒を計算するコードを書きたいです。参考サイトでもヒントでも良いので教えていただけると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
1970年 1月 1日 木曜日 09時00分00秒 JST からの経過秒数で時刻を表現する UNIX time ってのがすでにあるので、それにオフセット足す感じでどうでしょうか。
C++ だとこんな感じで。
#include <iostream> 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 }
投稿2018/11/15 19:02
編集2018/11/15 19:29総合スコア2413
0
以下、言語がPythonだと勘違いしての回答です。失礼しました…
アルゴリズムというか、datetime — 基本的な日付型および時間型を使えばできます。
まずdatetime オブジェクトにて起点となる日時のオブジェクトを作成します。
次にtimedelta オブジェクトで任意の秒数の差分を表すオブジェクトを作成します。
最後に、日時に差分を足した結果が求める日時になります。
投稿2018/11/15 19:20
編集2018/11/15 19:33総合スコア38266
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/16 08:40
2018/11/16 16:40
2018/11/22 15:09
2018/11/22 17:10