<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>秒未満</dfn> (<dfn>秒の小数部</dfn>) は、<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>の長さを表す部分です。</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> 以前は<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>が一般的でしたが、
21世紀になって<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> 例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3339の日付形式</anchor>は Internet 
標準として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">秒未満</anchor>の記述を可能にしています。
また <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GNU</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">diff</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:">W3C-DTF</anchor> でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">秒の小数部</anchor>を記述できます。</p><ul><li><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> 但し書式として秒未満が扱えたとしても、それが正しいかどうかは別問題です。 (もちろん、秒以上の正確性の問題もありますが、秒未満はその細かさ故により精度に疑問があります。) 書式としての秒未満を扱えても、実際には内部で捨てている実装も少なくないでしょう。</li><li><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:">RFC 3339</anchor> のように無限の精度を許したものをどう扱っているかは激しく実装依存と思われます。</li><li><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> それに、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3339 の日付形式</anchor> (のようなもの) で秒未満が無い形式を、固定長として扱っている実装だって少なくは無い (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT</anchor> スタイル・シートとか特に。) ですから、下手に秒未満を入れるとおかしくなる可能性も。</li></ul><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:">W3C-DTF</anchor> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C-DTF</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> <code>:server-time</code> は、<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="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:">TOMLの日時形式</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="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:">SQLの日時形式</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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</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><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="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:">JavaScript時刻</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ミリ秒</anchor>単位です。</p></example><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:">Perl</anchor> の <code>DateTime<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">DateTime.pm</title></code> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Go<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Go時刻</title></anchor>、 <code>DOMHighResTimeStamp</code> の初期仕様など、
21世紀に入ってから<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="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:">C言語</anchor>の <code>timespec</code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix time</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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小数のUnix time</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:">Compact Time Format</anchor></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">MessagePackフォーマット仕様にTimestamp型を追加 - Blog by Sadayuki Furuhashi</cite> (<time>2019-09-27 10:30:56 +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://frsyuki.hatenablog.com/entry/2017/08/10/144310">http://frsyuki.hatenablog.com/entry/2017/08/10/144310</anchor-external></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> <cite xml:lang="ja">Tanaka Akiraさんのツイート: &quot;ちなみに、言語じゃないですが、高精度な時刻を扱える例としては SQLite, EXIF, pax が任意精度 (10進で小数点以下任意長)、DB2 が 1ps, NTPv4 が 2**-64秒単位などといった例があるようです。… &quot;</cite>
(<time>2019-09-27 10:30:22 +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://twitter.com/tanaka_akr/status/895568110630993921">https://twitter.com/tanaka_akr/status/895568110630993921</anchor-external></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>: 2桁分</p></body></html>