タグ

2021年11月28日のブックマーク (1件)

  • DateTime.MinValue や new DateTime() は危険 - Cube Lilac

    昨日、コロナ接触確認アプリ COCOA が、バージョンアップで起動不能になる と言う現象が確認されたらしく、この問題の検証が GitHub 上で行われていました(COCOA v1.4.0 が起動しない - Issue #517 - cocoa-mhlw/cocoa)。この Issue によると、原因は .NET の DateTime 構造体の扱いにあったようです。 私自身も過去に似たような経験をした事がありますが、DateTime.MinValue や new DateTime()(引数無しで初期化)を使用するのは危険です。これら自体に直接的な問題があると言う訳ではないのですが、タイムゾーン間での時刻変換を実施すると例外が発生する時があります。 この問題はシリアライズの際に顕在化する事が多いようです。これは、シリアライズの際に DateTime オブジェクトの内容を UTC 時刻に変換する

    DateTime.MinValue や new DateTime() は危険 - Cube Lilac
    matarillo
    matarillo 2021/11/28
    Noda Timeを強く推奨します(他言語に慣れた人ならMust、そうでなくてもShould)https://nodatime.org/