HTML5のtime
要素は安易に日付を囲えばいい要素ではなく、一度は仕様をしっかりと読んだほうがいい新要素です。
time要素/datetime属性のフォーマット
その仕様のひとつにdatetime
属性があって、time
要素のテキストコンテントが マシン可読なフォーマット に準拠しない場合はdatetime
属性を代替として正しい日付と時間をユーザーエージェントに理解させる必要があります。
example
<time>1999-12-31</time> <!-- 正しい -->
<time>1999年12月31日</time> <!-- 誤り -->
<time datetime="1999-12-31">1999年12月31日</time> <!-- 正しい -->
<time>23:59</time> <!-- 正しい -->
<time>23時59分</time> <!-- 誤り -->
<time datetime="23:59">23時59分</time> <!-- 正しい -->
下記のリンクがとても詳しいです。
基本的なフォーマット
いろいろ種類があるので混乱しますが、これだけ覚えておくだけでも間違いないと思います。
日付
YYYY
YYYY-MM
YYYY-MM-DD
MM-DD
時間
hh:mm
hh:mm:ss
日付と時間
YYYY-DD-MM hh:mm
各言語の出力フォーマット
上記のフォーマットを各言語の日付APIのフォーマット文字列になおしてみました。
JavaScript (moment.js)
moment.js
moment().format('YYYY-MM-DD hh:mm:ss');
PHP
PHP
date('Y-m-d H:i:s');
JAVA
JAVA
new SimpleDateFormat("yyyy-MM-dd HH:mm");
Ruby
Ruby
Time.now().strftime('%Y-%m-%d %H:%M:%S')