<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>C</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="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite>ctime(3) - Linux manual page</cite> (<time>2019-04-08 00:17: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="http://man7.org/linux/man-pages/man3/ctime.3.html">http://man7.org/linux/man-pages/man3/ctime.3.html</anchor-external><ul><li><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> <cite>Man page of CTIME</cite> (<time>2019-04-14 12:33:28 +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://linuxjm.osdn.jp/html/LDP_man-pages/man3/ctime.3.html">https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ctime.3.html</anchor-external></li></ul></li></ul></refs></section><section><h1>HTTP</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ANSI C</anchor> の <code class="C"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">asctime</anchor>()</code> の形式です。 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPの日付形式</anchor>にも含まれています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1945</anchor> によると次のように定義されます。</p><pre>  asctime-date   = wkday SP date3 SP time SP 4DIGIT
  date3          = month SP ( 2DIGIT | ( SP 1DIGIT ))
                          ; month day (e.g., Jun  2)
  time           = 2DIGIT &quot;:&quot; 2DIGIT &quot;:&quot; 2DIGIT
                          ; 00:00:00 - 23:59:59
  wkday          = &quot;Mon&quot; | &quot;Tue&quot; | &quot;Wed&quot;
                 | &quot;Thu&quot; | &quot;Fri&quot; | &quot;Sat&quot; | &quot;Sun&quot;
  month          = &quot;Jan&quot; | &quot;Feb&quot; | &quot;Mar&quot; | &quot;Apr&quot;
                 | &quot;May&quot; | &quot;Jun&quot; | &quot;Jul&quot; | &quot;Aug&quot;
                 | &quot;Sep&quot; | &quot;Oct&quot; | &quot;Nov&quot; | &quot;Dec&quot;</pre><p>固定長で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日</anchor>が1桁の時は間隔 (<code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SP</anchor></code>) 
を補充します。 (時分秒が1桁の時は0埋めします。)</p><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> この<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:">HTTP</anchor>
で使われる場合は定義により必ず <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GMT</anchor></code> (<code>+0000</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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 主に <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> の理由から、この形式を情報交換用に使用するのはふさわしくないでしょう。</p></section><section><h1>実装</h1><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:">Perlモジュール</anchor> <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP::Date</anchor></code> には、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">asctime</anchor> 形式の時刻を、動作中の計算機の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">現地時間</anchor>で表されるものとして処理する不具合あるいは仕様があります。</p></section></section><section><h1>mbox</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:">mbox</anchor></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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en">rfc4155</cite>, <time>2021-07-14T04:14:24.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://datatracker.ietf.org/doc/html/rfc4155#appendix-A">https://datatracker.ietf.org/doc/html/rfc4155#appendix-A</anchor-external></li></ul></refs><blockquote><p>a timestamp indicating the UTC date and time when the message
was originally received, conformant with the syntax of the
traditional UNIX 'ctime' output sans timezone (note that the
use of UTC precludes the need for a timezone indicator);</p></blockquote></section><section><h1>例</h1><ul><li><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> <samp>Sun Nov  6 08:49:37 1994</samp></li><li><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> <samp>Mon Dec  2 18:28:12 2002</samp></li></ul></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> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2002-12-19 (木) 20:59</weak> <em>1970年1月1日</em>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor> では 
<code class="ABNF">&lt;&quot;&gt;<var>...</var>&lt;&quot;&gt;</code> になっているので大文字・小文字を区別しないとしていますが、
生成側は書かれている通り <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(1文字目だけ大文字)</weak>
にしないと、解釈できない糞実装があるかもしれません。</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:">Perl</anchor> では、 <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gmtime</anchor></code> や <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">localtime</anchor></code> の <code class="perl"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scalar</anchor></code> 
文脈での値がこの形式になります。</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> 新しい HTTP <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メッセージ</anchor>を出力する時には、 
<code class="C">asctime</code> 形式ではなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1123の日付形式</anchor>の 
HTTP 版を使うことになっています。</p><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:">Apache</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CGIスクリプト</anchor>の出力が <code class="C">asctime</code> 
のとき、 <code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Last-Modified</anchor></code> 
欄など幾つかの欄は勝手に修正してくれますが、 
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Expires</anchor></code> などでは素通しします。
鯖の修正機能には頼らずにちゃんと最初から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2822</anchor> 
形式で出力しておくのがいいでしょう。</p></section></body></html>