以下のコード、実行環境によって出力結果が変わります。 Console.WriteLine(new DateTime(2021, 8, 22)); 日本語 Windows 環境だと 2021/08/22 0:00:00 と表示されると思いますが、 OS 設定でカルチャーを変更すると別の書式になります。 例えば、en-US カルチャーにすると 8/22/2021 12:00:00 AM になります。 要するに、DateTime.ToString は OS のカルチャー依存になっています。 問題点はいくつかあるんですが… ToString みたいなよく使うメソッドの既定動作がカルチャー依存 WebAssembly みたいな、カルチャー情報を使いたくない環境がある カルチャー非依存にしたければ北米カルチャーを強要されがち 北米カルチャーが思った以上に世界から浮いてる 今日はこの辺りの話を書きたいと