web-dev-qa-db-ja.com

入力タイプDateTime-値の形式?

datetimeタイプのHTML5入力要素で使用するために、どの形式で日付と時刻を入力する必要がありますか?

私が試してみました:

  • 1338575502
  • 01/06/2012 19:31
  • 01/06/2012 19:21:00
  • 2012-06-01
  • 2012-06-01 19:31
  • 2012-06-01 19:31:00

どれも機能していないようです。

48
RobinJ

<input type="datetime" value="" ...の場合

グローバルな日付と時刻を表す文字列。

:[RFC 3339]で定義されている有効な日時、およびこれらの追加の資格:

•日付/時刻構文のリテラル文字TおよびZは常に大文字でなければなりません

•代わりに、日付満了の生産は、0より大きい数を表す4桁以上の数字として定義されます。

1990-12-31T23:59:60Z

1996-12-19T16:39:57-08:00

http://www.w3.org/TR/html-markup/input.datetime.html#input.datetime.attrs.value

更新:

この機能は廃止されました。一部のブラウザではまだ動作する可能性がありますが、いつでも削除できるため、使用しないことをお勧めします。使用しないようにしてください。

HTMLは、日付と時刻(時、分、秒、秒の小数部)およびタイムゾーンを入力するためのコントロールでした。この機能はWHATWG HTMLから削除され、ブラウザーではサポートされなくなりました。

代わりに、ブラウザはdatetime-local入力タイプを実装しています(開発者は使用することをお勧めします)。

HTML5入力タイプdatetimeがすでにサポートしているブラウザーから削除されるのはなぜですか?

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime

46

この記事 は受け入れ可能な有効なタイプを示しているようです

<time>2009-11-13</time>
 <!-- without @datetime content must be a valid date, time, or precise datetime -->
<time datetime="2009-11-13">13<sup>th</sup> November</time>
 <!-- when using @datetime the content can be anything relevant -->
<time datetime="20:00">starting at 8pm</time>
 <!-- time example -->
<time datetime="2009-11-13T20:00+00:00">8pm on my birthday</time>
 <!-- datetime with time-zone example -->
<time datetime="2009-11-13T20:00Z">8pm on my birthday</time>
 <!-- datetime with time-zone “Z” -->

これ<input>フィールドでの使用について説明します:

<input type="date" name="d" min="2011-08-01" max="2011-08-15">このHTML5入力タイプ「date」の例は、属性minおよびmaxと組み合わせて、ユーザーが入力できる日付を制限する方法を示しています。属性minとmaxは互いに依存せず、独立して使用できます。

<input type="time" name="t" value="12:00"> HTML5入力タイプ「時間」を使用すると、ユーザーは24時間形式で表示される対応する時間を選択できます。デフォルト値の「12:00」を含めなかった場合、時刻はユーザーのローカルマシンの時刻に設定されます。

<input type="week" name="w"> HTML5入力タイプの週には、「W」で示される週の数値バージョンが対応する年とともに表示されます。

<input type="month" name="m"> HTML5入力タイプmonthは、期待どおりの動作をします。月を表示します。正確には、年とともに月の数値バージョンを表示します。

<input type="datetime" name="dt"> HTML5入力タイプDatetimeは、UTC日時コードを表示します。ユーザーは、時間ステップを1分単位で前後に変更できます。ユーザーのローカルの日付と時刻を表示する場合は、次の例を使用する必要がありますdatetime-local

<input type="datetime-local" name="dtl" step="7200"> datetimeは一度に1分ずつ進むため、属性「step」を使用してデフォルトの増分を変更することができます。次の例では、属性ステップを7200(60秒X 60分X 2)に設定して、2時間ずつ増加させます。

16
John Conde

価値があるものとして、iOS7がdatetimeのサポートをドロップすると、はタイムゾーン部分を受け入れないdatetime-localを使用する必要があります(これは理にかなっています)。

動作しない(とにかくiOS):

 <input type="datetime-local" value="2000-01-01T00:00:00+05:00" />

作品:

<input type="datetime-local" value="2000-01-01T00:00:00" />

価値のためのPHP(windows safe):

strftime('%Y-%m-%dT%H:%M:%S', strtotime($my_datetime_input))
15
Brandon Hill

これは私の時間の無駄です。あなたが熱心なビーバーのために、次のフォーマットは私のために働いた:

<input type="datetime-local" name="to" id="to" value="2014-12-08T15:43:00">

仕様は少し混乱しましたが、RFC 3339を使用すると言われましたが、DATE_RFC3339形式を使用したときにPHPサーバーでhmtl入力を初期化していませんでした:(DATE_RFC3339のPHPの定数は "Ymd執筆時点で\ TH:i:sP "、タイムゾーン情報(datetime-LOCALを使用しています)を削除する必要があることは理にかなっています。

"Y-m-d\TH:i:s"

日付ピッカーは日付を表示するため、日付ピッカーの値を設定できる方が直感的だと思っていましたが、その表示方法はブラウザーによって異なると推測しています。

10
Jacob McKay

これは、INPUTの値を設定するために機能します。

strftime('%Y-%m-%dT%H:%M:%S', time())
3
Enigma Plus

これは、これを探している人にはHTML5-Tagとして正しく表示されます。

<input type="datetime" name="somedatafield" value="2011-12-21T11:33:23Z" />
1
Timo Braun