DateTimeの罠
いきなりですが、下記コードを実行すると落ちます。
var unixTime = -2208988800000; // 落ちる var date = new DateTime(unixTime);
「1900/01/01 00:00:00」のunix timeからDateTimeを作成しようとしたコードです。
理由は「1970/01/01 00:00:00」以降のDateTimeしか作れないからです。
代わりにDateTimeOffsetを使うと上手くいきます。
var unixTime = -2208988800000;
var date = DateTimeOffset.FromUnixTimeMilliseconds(unixTime);