year2038

    1

    1答えて

    現在、私はすべてのPHP Unixタイムスタンプを2k38 issue以上に変換しています。 私は気づいたsetcookie()有効期限パラメータは、UNIXのタイムスタンプを使用します。代替メソッドで有効期限を設定する方法はありますか、おそらくDateTimeクラスを何とか使用していますか? 注:MM:あなたは日付形式WDY、DD-MON-YYYYのHHとは対照的に、パラメータは、Unixのタイ

    53

    11答えて

    私が今日書いているソフトウェアの一部は30年後に使用されると思っています。 1月1日午後12時00 木:しかし、私はそれの多くは、1970年における #include <stdio.h> #include <time.h> #include <limits.h> void print(time_t rt) { struct tm * t = gmtime(&rt); p

    5

    3答えて

    Windowsの公式のPython 2.5は、32ビットのtime_tを使用するVisual Studio.Net 2003でビルドされました。したがって、年が2038年を超える場合は例外になります。 これはPython 2.6(time_tをVS2008で64ビットに変更)で修正されていますが、多くのモジュールが既にコンパイルされているため、2.5を使用したいと思います。 ここに私の質問がありま

    3

    2答えて

    私が読めるのlocaltimeにエポック時間を変換するためのコマンドをperlの下に使用しようとしています:2038年以下 bash-3.2$ perl -le print\ scalar\ localtime\ 32503651200 Thu Mar 9 19:13:52 1911 を正しく変換することも可能であるが、年間の番号については、私は結果を期待することができませんでし

    22

    3答えて

    32ビット組み込みLinux(ARMLinux)のCコードで時間を処理して、2038年1月19日(03:14:07 UTC)にコードが正しく動作することを保証する適切な方法は何ですか(符号付き32ビットtime_tオーバーフロー)?私が使用しなければならないシステムでtime_tが32ビットで署名されているとすれば、どのような代替案がありますか? グーグルのかなりの量が、実用的な使用の何も明らかに

    1

    3答えて

    私はY2038 problemを読んできましたが、time_tは符号ビットを "インクリメント"しようとするため、最終的に負の数値に戻すことを理解しています。 そのウィキペディアのページによると、time_tを符号なし整数に変更することは、早期の日付を処理するプログラムを壊すため、実行できません。 (それは理にかなっています)。 しかし、なぜ私は最初に符号なし整数になっていないのか分かりません。