<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="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:">C言語</anchor>の <code>time.h</code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構造体</anchor>
<dfn><code>tm</code></dfn>
は、<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:">Perl</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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src> </p><section><h1>仕様書</h1><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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite>ISO/IEC 9899:yyyy - n2310.pdf</cite> (<time>2018-11-12 09:13:34 +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.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf#page=287">http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf#page=287</anchor-external></li><li><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="en-gb">localtime - perldoc.perl.org</cite> (<time>2017-11-06 02:49:32 +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://perldoc.perl.org/functions/localtime.html">https://perldoc.perl.org/functions/localtime.html</anchor-external></li></ul></refs></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> <code>tm</code> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">calendar time</anchor> の各 component を保持します。
すなわち <dfn>broken-down time</dfn> を表します。 <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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></p></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> 次のメンバーを持ちます。 <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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></p><figure class="list members"><dl><dt><code>tm_sec</code></dt><dd>
<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>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">60</n> ]
(<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">60</n> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正閏秒</anchor>)</dd><dt><code>tm_min</code></dt><dd>
<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>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">59</n> ]</dd><dt><code>tm_hour</code></dt><dd>
<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>深夜</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">midnight</rt></rubyb>からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">時</anchor> <code>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">23</n> ]</dd><dt><code>tm_mday</code></dt><dd>
<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>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">31</n> ]</dd><dt><code>tm_mon</code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">January</anchor> からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">月</anchor> <code>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">11</n> ]</dd><dt><code>tm_year</code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">1900年からの年<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">西暦1900年暦</title></anchor> <code>int</code></dd><dt><code>tm_wday</code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Sunday</anchor> からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日</anchor> <code>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">6</n> ]</dd><dt><code>tm_yday</code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">January</anchor> 1日からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日</anchor> <code>int</code> [ <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">365</n> ]</dd><dt><code>tm_isdst</code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DST</anchor> フラグ <code>int</code> : 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DST</anchor> 中は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DST</anchor> 外は <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>、
不明なら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">負</anchor>。
<code>mktime</code> では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正</anchor>か <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n> なら <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DST</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:">DST</anchor> 中かどうか判定しようとします。</dd></dl></figure><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>mktime</code> は<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></p></section><section><h1>文脈</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">C言語</anchor>と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perl</anchor> の
<code>gmtime</code>, <code>localtime</code> は <code>time_t</code> を <code>tm</code>
に変換します。</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:">C言語</anchor>の <code>mktime</code> は <code>tm</code> を受け取り <code>time_t</code> を返します。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perlモジュール</anchor>の <code>Time::Local</code> は
<code>tm</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リスト</anchor>を受け取り <code>time_t</code> を返します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2桁西暦年号の解釈</anchor>の特殊な規則があるため
<code>gmtime</code>/<code>localtime</code> の完全な逆演算にはなっていません。</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="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">houseabsolute/Time-Local: Efficiently compute time from local and GMT time</cite> (<time>2019-04-21 11:01:53 +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://github.com/houseabsolute/Time-Local">https://github.com/houseabsolute/Time-Local</anchor-external></li></ul></refs></section><section><h1>メモ</h1><figure class="quote"><figcaption><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 xml:lang="ja">Date (Java Platform SE 8 )</cite>
(<time>2019-04-21 15:27:39 +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://docs.oracle.com/javase/jp/8/docs/api/java/util/Date.html">https://docs.oracle.com/javase/jp/8/docs/api/java/util/Date.html</anchor-external></figcaption><blockquote><p>年、月、日、時間、分、秒の値を受け取るか返すクラスDateのすべてのメソッドにおいて、次の表示が使用されます。</p><p>年yは整数y - 1900によって表されます。</p><p>月は0 - 11の整数で表されます。0は1月、1は2月、そして11は12月を意味します。</p><p>日(月の何日目)は通常どおり1 - 31の整数で表されます。</p><p>時間は0 - 23の整数で表されます。このため、深夜零時から午前1時までの時間は時刻0であり、正午から午後1時までの時間は時刻12を意味します。</p><p>分は通常どおり0 - 59の整数で表されます。</p><p>秒は0 - 61の整数で表されます。値60および61は、うるう秒のためにだけ、そして実際にうるう秒を正確に追跡するJavaの実装だけで発生します。現在使われているうるう秒の算出法では、2回のうるう秒が同じ分に発生することはきわめてまれですが、この仕様はISO Cによる日付および時刻の規約に従います。</p></blockquote></figure></section></body></html>