<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>の処理</dfn>は、簡単に見えて難しいものです。</p><section><h1>表現</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> データモデルは<anchor>日時データモデル</anchor> </sw-see></p><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> 構文やデータ型は<anchor>日時形式</anchor> </sw-see></p></section><section><h1>演算</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">演算</anchor></dfn></figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">期間計算</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日暦算</anchor></li><li>所属と前後日時の取得<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前日</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">今日</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">翌日</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前週</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">今週</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">来週</anchor></li><li>直近7日</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前月</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">今月</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">翌月</anchor></li><li>直近30日</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">四半期</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">半期</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">昨年</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">今年</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">来年</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月初</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月末</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月度</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年度</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時の比較</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時の整列</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暦の換算</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">曜日</anchor></li></ul></li><li>一覧の取得<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>の一覧</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月</anchor>の一覧</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月</anchor>内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日</anchor>の一覧</li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カレンダー</anchor>の構成</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時入力</anchor></li><li>機械的入力の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時形式</anchor></li></ul></li><li>文字列化<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時形式</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時表示</anchor></li></ul></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite xml:lang="en-us">Common options | Elasticsearch Guide <strong>[</strong>8.11<strong>]</strong> | Elastic</cite>, <time>2023-11-24T15:20:54.000Z</time>, <time>2023-11-25T08:53:57.488Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math">https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math</anchor-external></p></section><section><h1>問題</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">計算機システム</anchor>等で処理する際には、
様々な問題に注意する必要があります。</p><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時処理</anchor>の問題</figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時のセキュリティー</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時のプライバシー</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時桁溢れ問題</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2000年問題</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2038年問題</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閏年</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閏秒</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時刻同期</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">夏時刻</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">夏時刻システム障害</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改暦</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">過去の日時</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">将来の日時</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改元</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準時改正</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暦の換算</anchor><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルの時刻</anchor></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦和暦誤認バグ</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暦年週年バグ</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時計算ソフトウェアのパフォーマンス問題</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時特殊値</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>という<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">系</anchor>の複雑性に起因する問題もあれば、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>を実装するためのモデル化の失敗による問題もあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時制度</anchor>の改正の実施・適用という社会システム運用の問題もあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>とは無関係の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング</anchor>やシステム開発的な問題がたまたま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時処理</anchor>に害を及ぼした場合もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> 
社会の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報化</anchor>の進展に伴って、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時処理</anchor>の失敗の影響範囲はますます拡大し、
それ自体が社会問題化するようになりました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦2000年問題</anchor>はその端緒であり、代表例といえます。
その後も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時処理</anchor>の問題が起こるたびに、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦2000年問題</anchor>の再来のような言われ方をしています。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>西暦2020年問題</anchor>, <anchor>西暦2021年問題</anchor>, <anchor>西暦2038年問題</anchor>, <anchor>令和改元</anchor>, <anchor>暦年週年バグ</anchor> </sw-see></p><hr></hr><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="en-us">Apple says Do Not Disturb scheduling is broken until January 8 | Ars Technica</cite>, <time>2022-07-10T08:37:17.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://arstechnica.com/gadgets/2013/01/apple-says-do-not-disturb-scheduling-is-broken-until-january-7/?comments=1&amp;start=40#comment-23649245">https://arstechnica.com/gadgets/2013/01/apple-says-do-not-disturb-scheduling-is-broken-until-january-7/?comments=1&amp;start=40#comment-23649245</anchor-external>
(コメント欄2ページ目)<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Korpo</anchor>, Jan 3, 2013 8:42 AM</li></ul></li></ul><blockquote><p>December was missing in the People app, not &quot;completely nuked&quot; or &quot;lost in Android&quot;. It was the People app included with a specific version of Android, and only certain localizations (including English).</p><ul><li>If you didn't bother upgrading your phone before December, the date/time on your phone would have gone to December just fine.</li><li>If you tried to set an appointment or schedule something to happen in December, it would work just fine.</li><li>If you set someone's birthday or anniversary or something via the web interface (google.com/contacts) It would sync and show them properly.</li><li>If you tried to set/change someone's birthday or anniversary via the People app on a 4.2.0 Android phone for the three weeks it was broken, and you were using an affected language, you'd have issues. The humanity.</li></ul></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> 
「Android で12月がなくなる不具合があった」
のようなキャッチーだけど雑な情報を流している人に苦言を呈している。
そういうのが広がりがちで真相が見えづらくなるので、詳しい情報<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">たすかる</anchor>。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <cite xml:lang="en">December month missing in calendar <strong>[</strong>36958380<strong>]</strong> - Visible to Public - Issue Tracker</cite>, <time>2022-07-10T10:06:42.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://issuetracker.google.com/issues/36958380#c46">https://issuetracker.google.com/issues/36958380#c46</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en-US">Android 4.2 bug omits December from the People app, makes end-of-year birthdays even less bearable | Engadget</cite>
(<time>2022-07-10T09:11:55.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.engadget.com/2012-11-18-android-4-2-bug-omits-december-from-the-people-app.html">https://www.engadget.com/2012-11-18-android-4-2-bug-omits-december-from-the-people-app.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="en">Google cancels Christmas? Why Android can't remember December | Android | The Guardian</cite>, <time>2022-07-10T10:05:30.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.theguardian.com/technology/blog/2012/nov/18/android-december-lost-birthday">https://www.theguardian.com/technology/blog/2012/nov/18/android-december-lost-birthday</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クリスマス中止のお知らせ</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">草</anchor></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 
<cite xml:lang="ja">年金問題、生年月日の日付を丸めて記録?? | スラド</cite>, <time>2024-01-22T12:31:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://srad.jp/story/07/10/26/0226214/">https://srad.jp/story/07/10/26/0226214/</anchor-external></p></section><section><h1>実装</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時処理</anchor>の実装</figcaption><ul><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Date</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DateTime.pm</anchor></code></li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Time::Piece</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Noda Time</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XFDLの日時処理</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XDMの日時処理</anchor></li></ul></figure></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日次処理</anchor>はまた違います。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite>The Best Of Dates, The Worst Of Dates</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gilbert Healton</anchor>, <time>2016-02-13 05:20:01 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://x109.healton.net/y2k/yrexamples.html">http://x109.healton.net/y2k/yrexamples.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite><strong>[</strong>tz<strong>]</strong> Temporal - ECMAScript built-in JS Library for dates/times/timezones/calendars in progress</cite>
(<time>2021-03-04T21:11:34.000Z</time>, <time>2021-03-05T01:51:17.570Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://mm.icann.org/pipermail/tz/2021-March/029899.html">https://mm.icann.org/pipermail/tz/2021-March/029899.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="ja">タイムゾーン呪いの書 (知識編)</cite>, <time>2021-07-07T00:54:22.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://zenn.dev/dmikurube/articles/curse-of-timezones-common-ja">https://zenn.dev/dmikurube/articles/curse-of-timezones-common-ja</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en">COCOA v1.4.0 が起動しない · Issue #517 · cocoa-mhlw/cocoa · GitHub</cite>, <time>2021-11-30T09:48:11.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/cocoa-mhlw/cocoa/issues/517#issuecomment-978988403">https://github.com/cocoa-mhlw/cocoa/issues/517#issuecomment-978988403</anchor-external></p><blockquote><p><code>DateTime()</code>は<code>0001/01/01 0:00:00</code>で、そこからさらに9時間を引こうとしているので怒られている。</p><p>DateTime.MinValueと同値であれば引かないようにとか考えたけど、DateTime.MinValueと同値ではない<code>0001/01/01 0:08:00</code>から9時間引こうとするとやっぱり落ちるよねと。</p></blockquote><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="ja">DateTime.MinValue や new DateTime() は危険 - Cube Lilac</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">clown</anchor>, <time>2021-11-30T09:53:39.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://clown.cube-soft.jp/entry/2021/11/26/datetime-trap">https://clown.cube-soft.jp/entry/2021/11/26/datetime-trap</anchor-external></figcaption><blockquote><p>例えば、DateTime.MinValue.ToUniversalTime() は、予想に反して、例外を発生させずに正常終了します(日時の値は変更されずにタイムゾーンの値のみ UTC になる)。ただ、DataContractJsonSerializer の事例のようにライブラリ側で変換処理が実行されて例外が発生する事も多いため、万全を期すのであればライブラリに指定する全ての DateTime オブジェクトに対して ToUniversalTime 等を実施しなければならず、結構な負担となります。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="ja">606さんはTwitterを使っています 「Dropboxがおかしくて、毎回、関ヶ原終わりたてホヤホヤの頃のExcelファイルが出土されます 巻物でやれ https://t.co/hCLpKXDfde」 / Twitter</cite>
(<time>2022-01-20T08:18:34.000Z</time>, <time>2022-01-21T01:39:14.102Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://twitter.com/bumWings/status/1483989654378405888">https://twitter.com/bumWings/status/1483989654378405888</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="ja-jp">日付と時刻のデータ型および関数 - SQL Server (Transact-SQL) | Microsoft Docs</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">markingmyname</anchor>, <time>2022-04-22T09:07:51.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.microsoft.com/ja-jp/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-ver15">https://docs.microsoft.com/ja-jp/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-ver15</anchor-external></p><ul><li>
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 
<cite>時間情報を取り扱うための課題の整理を試みる―日本史資料を題材に―</cite>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">後藤真</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 
<cite>第25回「東洋学へのコンピュータ利用」研究セミナー</cite>, <time>2014-03-15T00:43:49.000Z</time>, <time>2022-04-28T08:52:42.771Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://kanji.zinbun.kyoto-u.ac.jp/seminars/oricom/2014.html">http://kanji.zinbun.kyoto-u.ac.jp/seminars/oricom/2014.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<cite xml:lang="ja">第25回「東洋学へのコンピュータ利用」研究セミナー(#zinbun #jinbun) (2ページ目) - Togetter</cite>, <time>2022-04-28T08:52:51.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://togetter.com/li/642076?page=2">https://togetter.com/li/642076?page=2</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
<time>2022-06-04T13:26:14.200Z</time>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.libraryjournal.com.cn/EN/article/downloadArticleFile.do?attachType=PDF&amp;id=2289">http://www.libraryjournal.com.cn/EN/article/downloadArticleFile.do?attachType=PDF&amp;id=2289</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite xml:lang="ja">programming and calendar</cite>, <time>2022-07-13T08:22:44.000Z</time>, <time>2004-02-03T18:31:26.408Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20040203182933/http://www.funaba.org/en/programming-and-calendar.html">https://web.archive.org/web/20040203182933/http://www.funaba.org/en/programming-and-calendar.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="ja-JP">Supported Presto and TD Functions - Product Documentation - Treasure Data Product Documentation</cite>, <time>2022-08-25T00:18:23.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.treasuredata.com/display/public/PD/Supported+Presto+and+TD+Functions">https://docs.treasuredata.com/display/public/PD/Supported+Presto+and+TD+Functions</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="ja-jp">datetimeV2 作成済みエンティティ - LUIS - Azure Cognitive Services | Microsoft Learn</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">aahill</anchor>, <time>2023-01-01T08:22:55.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://learn.microsoft.com/ja-jp/azure/cognitive-services/luis/luis-reference-prebuilt-datetimev2?tabs=1-1%2C2-1%2C3-1%2C4-1%2C5-1%2C6-1">https://learn.microsoft.com/ja-jp/azure/cognitive-services/luis/luis-reference-prebuilt-datetimev2?tabs=1-1%2C2-1%2C3-1%2C4-1%2C5-1%2C6-1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite>How to save datetimes for future events - (when UTC is not the right answer)</cite>, <time>2021-03-03T04:39:21.000Z</time>, <time>2023-06-06T14:30:41.050Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.creativedeletion.com/2015/03/19/persisting_future_datetimes.html">http://www.creativedeletion.com/2015/03/19/persisting_future_datetimes.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <cite xml:lang="en">Storing UTC is not a silver bullet | Jon Skeet's coding blog</cite>, <time>2023-06-06T14:18:20.000Z</time>, <time>2023-06-06T14:30:17.380Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://codeblog.jonskeet.uk/2019/03/27/storing-utc-is-not-a-silver-bullet/">https://codeblog.jonskeet.uk/2019/03/27/storing-utc-is-not-a-silver-bullet/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <cite xml:lang="en">JRS - Critical and Significant Dates - J R Stockton</cite>, <time>2023-06-06T14:35:19.000Z</time>, <time>2015-09-08T00:59:13.478Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20150908004245/http://www.merlyn.demon.co.uk/critdate.htm">https://web.archive.org/web/20150908004245/http://www.merlyn.demon.co.uk/critdate.htm</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite xml:lang="en">ruby/lib/time.rb at master · ruby/ruby · GitHub</cite>, <time>2023-09-11T03:54:55.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ruby/ruby/blob/master/lib/time.rb">https://github.com/ruby/ruby/blob/master/lib/time.rb</anchor-external></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> 
<cite xml:lang="en">Apple confirms New Year's alarm bug, says to wait until Jan 3 | AppleInsider</cite>, <time>2024-01-27T05:25:22.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://appleinsider.com/articles/11/01/01/apple_admits_new_years_alarm_bug.html">https://appleinsider.com/articles/11/01/01/apple_admits_new_years_alarm_bug.html</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> 
<cite xml:lang="ja">アップルのiOS、元旦に目覚ましがならないバグ | スラド アップル</cite>, <time>2024-01-27T05:25:13.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://apple.srad.jp/story/11/01/02/084250/">https://apple.srad.jp/story/11/01/02/084250/</anchor-external></li></ul><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> 
<cite xml:lang="ja">XユーザーのMakoto Kamadaさん: 「X68000 LIBRARYにLHA.x 2.62を収録しました。 https://t.co/JyyCjlQSAw LHA.x 2.60→2.62で以下の不具合を修正していただきました。 (1)圧縮時、-lh0-の後に-lh5-があると展開できないアーカイブファイルが作られる (2)圧縮時、ファイルのタイムスタンプが閏年の2月のとき翌日の日付が書き込まれる」 / X</cite>, <time>午後8:28 · 2024年7月21日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-07-21T11:28:11.000Z</attrvalue></time>, <time>2024-07-22T02:30:46.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/kamadox/status/1814985722568618412">https://x.com/kamadox/status/1814985722568618412</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="ja">XユーザーのMakoto Kamadaさん: 「LHA.x 2.60で日付がずれたのはlibcの_getydayのバグが原因。_getydayは年と月から1日(ついたち)の年通日を求める関数で、閏年の3月以降のとき年通日に2月29日の分の1を加える処理が、誤って2月以降になっている。mktimeに2024年2月1日を与えて繰り返し呼び出すと日付が増えてゆくことで確認できる。 https://t.co/REyIvxNSLk」 / X</cite>, <time>午前1:09 · 2024年7月22日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-07-21T16:09:19.000Z</attrvalue></time>, <time>2024-07-22T02:30:46.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/kamadox/status/1815056470737871210">https://x.com/kamadox/status/1815056470737871210</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <cite xml:lang="ja">XユーザーのMakoto Kamadaさん: 「libcの_getydayのバグは過去にも指摘されていて修正パッチがある。ライブラリを更新するときはmakeが通らなくなったり同じバージョン表記なのに内容が異なるものが混在して混乱を招くことがあるので注意する。」 / X</cite>, <time>午前11:19 · 2024年7月22日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-07-22T02:19:11.000Z</attrvalue></time>, <time>2024-07-22T02:30:46.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/kamadox/status/1815209949624246282">https://x.com/kamadox/status/1815209949624246282</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 
<cite xml:lang="ja">XユーザーのSTB a.k.a. さとまるさん: 「俺としては、「1.1秒」と書かれたら、それは1秒100,000,000ナノ秒と解釈して欲しいんだけど、DateTimeFormattetはどうやら1秒1ナノ秒と解釈するみたいなんよ。 おかしくない?ねえ、おかしくない?」 / X</cite>, <time>午前9:54 · 2025年1月23日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-01-23T00:54:09.000Z</attrvalue></time>, <time>2025-01-23T01:21:04.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/stb_nissie/status/1882230303349260451">https://x.com/stb_nissie/status/1882230303349260451</anchor-external></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <cite xml:lang="ja">XユーザーのBird 😷さん: 「首都高の渋滞予想カレンダーが表示されない件 NaN月って… https://t.co/L7RX4rv2Gk https://t.co/yiGKbIPcb3」 / X</cite>, <time>午前9:31 · 2025年1月4日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-01-04T00:31:39.000Z</attrvalue></time>, <time>2025-09-01T03:57:23.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/bird_ys/status/1875339272565436733">https://x.com/bird_ys/status/1875339272565436733</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> 
<cite xml:lang="ja">XユーザーのBird 😷さん: 「正月明けの6日にやっと復旧してた」 / X</cite>, <time>午前9:31 · 2025年1月9日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-01-09T00:31:36.000Z</attrvalue></time>, <time>2025-09-01T03:57:23.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/bird_ys/status/1877151199582949829">https://x.com/bird_ys/status/1877151199582949829</anchor-external></li></ul></li></ul><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 
<cite xml:lang="ja">Xユーザーの想像地図の人さん: 「賞味期限が2013/02/25のすしが売られているのを見たんですが、流石に「2013(=平成25)」と「2025」の間違いですよね… https://t.co/aTWxvkV8Er」 / X</cite>, <time>午後1:31 · 2025年12月28日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-12-28T04:31:44.000Z</attrvalue></time>, <time>2025-12-29T06:46:53.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/koridentetsu/status/2005134546296340835">https://x.com/koridentetsu/status/2005134546296340835</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 
<cite xml:lang="ja">Xユーザーの想像地図の人さん: 「撮影日は2025年12月27日です。」 / X</cite>, <time>午後1:34 · 2025年12月28日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-12-28T04:34:13.000Z</attrvalue></time>, <time>2025-12-29T06:46:53.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/koridentetsu/status/2005135172103192687">https://x.com/koridentetsu/status/2005135172103192687</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> 
<cite xml:lang="ja">Xユーザーの小栗上野介義央さん: 「@koridentetsu それやとしても、日付も大概では?」 / X</cite>, <time>午後1:44 · 2025年12月28日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2025-12-28T04:44:53.000Z</attrvalue></time>, <time>2025-12-29T06:46:53.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://x.com/gun_max_band/status/2005137857187561512">https://x.com/gun_max_band/status/2005137857187561512</anchor-external></li></ul></li></ul></section></body></html>