<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><figure class="pull-quote"><blockquote><p>1万年と2千年前から愛してる</p></blockquote><figcaption><cite>創聖のアクエリオン</cite></figcaption></figure><p><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> <dfn>西暦1万年問題</dfn>は、4桁<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以下</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦年</anchor>を扱うシステムにおいて、
<time>西暦10000年<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">10000</attrvalue></time><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="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2桁で年を扱う<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2桁年号</title></anchor>システムに関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦2000年問題</anchor>のついでに注目され、
一部で対策が行われましたが、完全解決には至っていません。</p><p><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:">日付</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="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年問題</anchor>の本質とは何かを考えさせられます。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>年問題</anchor> </sw-see></p><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:">ISO 8601</anchor> は、 (4桁の構文の自然な拡張では<em>ない</em>) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">展開表現</anchor>により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1万年問題</anchor>に対処しています。</p><p><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> <code>xs:dateTime</code> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">展開表現</anchor>ではなく既存の構文の自然な拡張によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1万年問題</anchor>に対処しています。
(意図的かどうかは書かれていませんが) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601</anchor> に違反しますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schema</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601</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="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601</anchor> から派生した独自の構文である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLの日時形式</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">展開表現</anchor>ではなく既存の構文の自然な拡張によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1万年問題</anchor>に対処しています。</p><hr></hr><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> 
<cite>MEW3 PktCDateLib</cite>, <time>2021-05-24T08:18:39.000Z</time>, <time>2000-12-02T20:56:12.909Z</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/20001202204800/http://www3.gamewood.net/mew3/pilot/pocketc/pktcdate/index.html">https://web.archive.org/web/20001202204800/http://www3.gamewood.net/mew3/pilot/pocketc/pktcdate/index.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> この <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PktCDateLib</anchor> という <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Palm OS</anchor> 用の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2550</anchor>
が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦1万年問題</anchor>に対処する従来手法の唯一知られる例として引いていました。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></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> この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>は
「YYYYMMDD」
式の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付形式</anchor>を採用していました。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src></p><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> 
この方式の (「DDMMYYYY」のような他の方式に対する) 利点として、
そのままの大小が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日</anchor>の大小になることと、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>を5桁に拡張して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦1万年問題</anchor>対策とできることが挙げられていました。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src></p><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="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:">年月日</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>をこの順序で並べるだけのことにも理由をわざわざ書く必要があったようです。</comment-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:">old Palm epoch</anchor>
を使っていたので、
西暦2031年までしか扱えませんでした。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src></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> 
当然ながら5桁に拡張しても99999年までしか記述できません。
次は6桁に拡張する必要が出てきます。</p></section><section><h1>RFC 2550 の日時形式</h1><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> <time>1999-04-01</time>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出版</anchor>された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">4月1日のRFC</anchor>である <dfn>RFC 2550</dfn>
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネット</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1万年問題</anchor>を扱っており、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1万年問題</anchor>を解決した<dfn>RFC 2550の日時形式</dfn>を定義しています。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><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> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2550</anchor> - Y10K and Beyond</cite> (<time>2017-03-19 16:23:49 +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="https://tools.ietf.org/html/rfc2550">https://tools.ietf.org/html/rfc2550</anchor-external></li></ul></refs><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> 単に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>の桁数を増やすだけでなく、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</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="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <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="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</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>までと任意の精度の<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:">ASCII文字列</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="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</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:">ASCII数字</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>の直前の瞬間を表すことになっています。
(例えば <code>A999991232</code> (12月32日) は <code>B100000</code> の前の瞬間を表しています。)</p><hr></hr><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K date</anchor>
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TAI</anchor>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時</anchor>を表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K date</anchor> 
構文は無限の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">過去<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">過去の日時</title></anchor>から無限の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">未来<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">未来の日時</title></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>の寿命を考慮した限界を設けて構わないとされています。すなわち、
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><ul><li><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K compliant program</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>の範囲を制限して<MAY xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構いません</MAY>。</li><li><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K compliant system</anchor>
は、
最低、
過去および未来に 10<sup>29</sup> 年間の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受理</anchor>する<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD>。</li><li><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K compliant system</anchor>
は、
過去 10<sup>12</sup> 年間、
未来 10<sup>20</sup> 年間の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K date</anchor>
を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受理</anchor>しなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。</li></ul><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宇宙論</anchor>の研究の進展でこのへんの規定は改訂する必要があるかもしれませんね?</p><hr></hr><p><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K date</anchor>
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">印字可能ASCII文字</anchor>の列です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><p><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K date</anchor> 
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K year</anchor>
の後に年内の日時を続けたものです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><hr></hr><p><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> 
<dfn>Y10K year</dfn> は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>番号によって記述方法が違います。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1</n> 年とそれ以後は、次のように記述します。<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> 
[ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">999</n> ]
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0埋め</anchor>して4桁の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10進数</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII数字</anchor>列で表します。</li><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> 
[ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1000</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">9999</n> ]
は、そのまま4桁の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10進数</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII数字</anchor>列で表します。</li><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> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10000</n> <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:">ASCII数字</anchor>列の前に、
その桁数で決まる記号を付けます。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1</n> 年よりも前は、<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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;69</anchor-internal>)。</li></ul><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="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 仕様書は4桁の時以外、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII数字</anchor>列は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10進数</anchor>だと明記していません。</comment-p><p><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>が <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10000</n> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>は、
<code>A10000</code>,
...,
<code>Z999999999999999999999999999999</code>,
<code>^A1000000000000000000000000000000</code>,
...,
<code>^Z99999999999999999999999999999999999999999999999999999999</code>,
...,
<code>^^AA100000000000000000000000000000000000000000000000000000000</code>,
...
と表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>
この先頭にある桁数を表す記号列は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII文字列</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="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> 
先頭の記号列は、0個<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>の <code>^</code> の後に、
1個<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字</anchor>を続けたものです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><figure class="railroad"><ol><li>*<ol><li><code>^</code></li></ol></li><li>+<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字</anchor></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> 
ただし
<code>^</code> 
と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字</anchor>の数には制約があります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <var>n</var> : <code>^</code> の数</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <var>m</var> : <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字</anchor>の数</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <var>m</var> = fib(<var>n</var>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> fig(<var>n</var>) : 標準<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フィボナッチ数列</anchor><ul><li>fib(0) = 1</li><li>fib(1) = 1</li><li>fib(<var>n</var> + 2) = fib(<var>n</var>) + fib(<var>n</var> + 1)</li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> 
先頭の記号列から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>の桁数は次のように決まります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <var>年の桁数</var> = base26(<var>ASCII大文字列</var>) + y10k(<var>n</var>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> base26(<var>文字列</var>) : <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字</anchor>で表される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">26進数</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> base26(<var>文字</var>) = ASCII(<var>文字</var>) - ASCII(<code>A</code>)<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> ASCII(<var>文字</var>) : <var>文字</var>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> base26(<var>文字列</var> <var>文字</var>) = 26 × base26(<var>文字列</var>) + base26(<var>文字</var>)</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> y10k(<var>n</var>)<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> y10k(0) = 5</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> y10k(<var>n</var> + 1) = 26<sup>fib(<var>n</var>)</sup> + y10k(<var>n</var>)</li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> 
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1</n> 年よりも前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>は、次の手順の結果で表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <var>y</var> を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">B.C.E.</anchor> の年番号に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <var>s</var> を、 <var>y</var> 年の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y10K year</anchor> に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <var>s</var> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字</anchor>を、すべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">26進数</anchor>の<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="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> 例えば A → Z、B → Y</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <var>s</var> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII数字</anchor>を、すべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10進数</anchor>の<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="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> 例えば 0 → 9、1 → 8</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <var>s</var> の <code>^</code> を、すべて <code>!</code> で置き換えます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <var>s</var> が4桁の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII数字</anchor>列の場合、先頭に <code>/</code> を付けます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <var>s</var> の先頭が <code>!</code> か <code>/</code> でない場合、
先頭に <code>s</code> を付けます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <var>s</var> を返します。</li></ol></figure><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="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</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>を一致させるためこのような方式を採用しています。
過去の日時よりも今後の日時の方が多いのだから、
この程度の不便は許容できるとされています <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</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:">Y10K date</anchor>
ではあるとされます。末尾に <code>0</code>
を書き足したものと同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付</anchor>を表すとされます。
例えば
<code>A1</code>
は
<code>A10000</code>
と同じで1万年を表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> 
年内の日時は、
任意個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII数字</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>、<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>とどんどん細かい単位を表していきます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</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>までは、
それぞれ2桁で表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> 仕様書上明記されていませんが、
すべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10進数</anchor>で表したものです。
1桁の数値は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0埋め</anchor>します。</p><p><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> 
<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>の制限がなく、 
<code>00</code>
から
<code>99</code>
まですべてが構文上認められています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> 例えば
<code>A99999</code> 
の最後の瞬間と
<code>B100000</code>
の最初の瞬間の間に
<code>A999991232</code>
が入ると例示されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>。</p><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="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> これが現実世界の<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="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> 構文上は2桁単位での指定が義務付けられているのですが、
規定本文ではそうでもないようなことが書かれていて、
実際上1桁だけ書いた例も示されています。
例えば
<code>A999992</code>
は
<code>A9999920</code>
(99999年20月)
を表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><hr></hr><p><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> 
<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>はより小さいとします。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><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> 例えば
<code>19990401000000</code> &lt; <code>19990401000000000</code>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> 
その他は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII文字列</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><hr></hr><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">4月1日に発行された RFC<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">4月1日のRFC</title></anchor> であり、
検討するのも野暮な話かもしれませんが、
現実的にはあまり使い勝手の良い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日時形式</anchor>ではないかもしれません。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2550</anchor> はいい性質を供えたよい方式だと謳っていますがねw)</p><p><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> <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>を著しく落としていますし、
1万年以上で使われる英字や記号は人間が扱うには難しすぎる (ミスする可能性が高い) ものです。
<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><hr></hr><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> 
<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:">24時間制</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="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2550</anchor>
は、
未解決の課題として、
Aztec, Bhuddist, Jewish,
Muslim, and Hittite calendars
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付</anchor>など異なる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">calendar system</anchor>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付</anchor>は直接は比較できない、
まず common calendar に変換しなければならない、
と述べていました。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</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="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2550</anchor>
は、
将来<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>の re-numbering があると対応できない、
新たな 「Year 0」 が出現して常用に供されると古い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付</anchor>は調整しなければならなくなる、
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src>
としていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</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:">0年</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="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</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>の終焉後の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日付</anchor>のゆくえが不透明であることが、
課題として指摘されていました。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></src></p></section><section><h1>未対応の日時形式</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3339の日時形式</anchor>は4桁固定で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦1万年問題</anchor>未対応です。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターネットメールの日時形式</anchor>は4桁<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以下</anchor>で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">西暦1万年問題</anchor>未対応です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Microsoft Excel</anchor> <sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>1900 date system</anchor>, <anchor>1904 date system</anchor> </sw-see></p></section><section><h1>関連</h1><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> <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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end>
<cite xml:lang="ja">西暦10000年問題 - Wikipedia</cite> (<time>2007-01-10 09:55:23 +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://ja.wikipedia.org/wiki/%E8%A5%BF%E6%9A%A610000%E5%B9%B4%E5%95%8F%E9%A1%8C">http://ja.wikipedia.org/wiki/%E8%A5%BF%E6%9A%A610000%E5%B9%B4%E5%95%8F%E9%A1%8C</anchor-external>
(<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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>
<cite xml:lang="en">Year 10,000 problem - Wikipedia, the free encyclopedia</cite> (<time>2007-01-17 09:39:58 +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://en.wikipedia.org/wiki/Year_10%2C000_problem">http://en.wikipedia.org/wiki/Year_10%2C000_problem</anchor-external>
(<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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>
一万年問題のポイントの1つは、そんな先のことまで考えずとも、
もっと若い<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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="ja-jp">10000年問題 ‐ 通信用語の基礎知識</cite>, <time>2021-05-24T08:36:52.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.wdic.org/w/TECH/10000%E5%B9%B4%E5%95%8F%E9%A1%8C">https://www.wdic.org/w/TECH/10000%E5%B9%B4%E5%95%8F%E9%A1%8C</anchor-external></p><p><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> <cite xml:lang="ja-jp">9340年問題 ‐ 通信用語の基礎知識</cite>
(<time>2018-04-24 00:01:08 +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://www.wdic.org/w/TECH/9340%E5%B9%B4%E5%95%8F%E9%A1%8C">http://www.wdic.org/w/TECH/9340%E5%B9%B4%E5%95%8F%E9%A1%8C</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <cite xml:lang="ja">西暦10000年問題 - アンサイクロペディア</cite>
(<time>2023-07-11T21:45:44.000Z</time>, <time>2023-08-09T02:06:22.024Z</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://ja.uncyclopedia.info/wiki/%E8%A5%BF%E6%9A%A610000%E5%B9%B4%E5%95%8F%E9%A1%8C">https://ja.uncyclopedia.info/wiki/%E8%A5%BF%E6%9A%A610000%E5%B9%B4%E5%95%8F%E9%A1%8C</anchor-external></p></section></body></html>