問題タブ [year2038]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 時間(); 2038年以降?
php関数time();
は2038年以降機能しますか?
php - タイムスタンプに 2038 までの制限があるのはなぜですか?
カレンダー スクリプトを実行したところ、PHP のタイムスタンプには 2038 までの制限があることがわかりました。これはどういう意味ですか? 2050 年や 2039 年ではなく、なぜ 2038 年なのか? タイムスタンプが特定の日付 (1970 年) からの秒数をカウントするだけの場合、なぜ制限するのですか?
android - h2バグタイムゾーン2038年のAndroid
AndroidアプリケーションのデータベースH2に日付を挿入していますが、日付が2038年1月19日(Unix 2038年問題)より大きい場合、データベースに保存される日付はAndroidデバイスのタイムゾーンに応じて変化します。
例:日付2050-12-31
- タイムゾーン+2:00 El Cairoが2050-12-29を保存(エラー)
- タイムゾーン+2:00アムステルダムは2050-12-30を保存します(エラー)
- タイムゾーン+2:00ブリュッセルは2050-12-31を保存します(OK)
- 日本のタイムゾーンは2050-12-31を節約します(OK)
- 中国のタイムゾーンで2050年12月31日を節約(OK)
- アゾレス諸島のタイムゾーンで2050年12月31日を節約(OK)
Androidを使用するLinuxカーネルには2038年問題があると思いますが、問題なく動作する場合と動作しない場合がある理由がわかりません。
この問題の解決策はありますか?java.util.Date
Androidで安全に使用できますか?
python - maxintより大きいタイムスタンプを日時オブジェクトに変換する
文字列として保存されているタイムスタンプを日時オブジェクトに変換するためのコードがあり、intタイムスタンプ値がmaxintより大きい日付を変換するときに例外が発生することに気づきました。
たとえば私に
この問題を回避するにはどうすればよいですか?32ビットPython(2.7.2を実行)を使い続けたいと仮定します
max intをdatetimeオブジェクトに変換してから、timedeltaを使用して追加できることに気付きましたが、実際にこれを行うための特に効率的または優れた方法は考えられませんでした。これらの2038+タイムスタンプを日時オブジェクトに変換できる良い方法は何ですか?
c++ - time_t を使用せずに std::chrono::time_point を std::tm に変換する方法は?
年/月/日の値を印刷または抽出したいと思います。
2038年問題があるので使いたくないのですtime_t
が、インターネットで見つけた例はすべてそれを使っtime_point
てtm
.
time_point から tm に変換する簡単な方法はありますか (できれば boost なし)?
libcのtimesubのような実装は、私の最後の手段です: http://www.opensource.apple.com/source/Libc/Libc-262/stdtime/localtime.c
編集:提案されたリンクを読み、さらに調査を行った後、次の結論に達しました。
- 64 ビット長の time_t を使用しても問題ありません (ほとんどの場合)。
- 移植可能なコードに Boost.Date_Time を使用します。
Boost.Date_Time がヘッダーのみのライブラリになる可能性があることは注目に値します。ソース: http://www.boost.org/doc/libs/1_53_0/more/getting_started/unix-variants.html#header-only-libraries
php - PHP - UNIX タイムスタンプを mysql に保存する (time_t オーバーフローを回避する)
UNIX時間が負の最小範囲にリセットされる2038年の問題に気付いたので、この興味深いトピックについて少し調査することにしました。
現在、(mysql で) データベースの構造を設計していますが、次の 2 つの考慮事項で問題が解決する可能性があると思います。
1) - 時刻データをタイムスタンプ フィールドではなく、bigint (またはそれより大きい) 列に格納します。
2) - アプリケーションに使用するサーバーは 64 ビット OS を使用するため、php 日付関数を使用すると日付が正しく返されます。
タイムスタンプを使用して受け入れようとしているこれらの考慮事項に基づいて、それについてどう思いますか? ありがとう..