输入类型DateTime - 值格式?

时间:2012-06-01 17:33:47

标签: html html5 datetime html-input

我应该以哪种格式设置日期和时间,以便在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

它们似乎都不起作用。

7 个答案:

答案 0 :(得分:43)

<input type="datetime" value="" ...

  

表示全局日期和时间的字符串。

     

:有效的日期时间   如[RFC 3339]中所定义,具有以下附加资格:

     

•日期/时间语法中的字面字母T和Z必须始终为大写

     

•date-fullyear生产被定义为4或   表示数字大于0的更多数字

     

<强>实施例

     

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是用于输入日期的控件   时间(小时,分钟,秒和一秒的分数)以及a   时区。此功能已从WHATWG HTML中删除,并且不是   浏览器支持更长时间。

     

相反,浏览器正在实施(并鼓励开发人员   使用)datetime-local输入类型。

Why is HTML5 input type datetime removed from browsers already supporting it?

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

答案 1 :(得分:15)

This article似乎显示了可接受的有效类型

<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” -->

This one涵盖在<input>字段中使用它:

  

<input type="date" name="d" min="2011-08-01" max="2011-08-15">这个   HTML5输入类型的示例&#34; date&#34;结合属性min   和max显示我们如何限制用户可以输入的日期。该   属性min和max不相互依赖,可以使用   独立地

     

<input type="time" name="t" value="12:00"> HTML5输入类型   &#34;时间&#34;允许用户选择显示的相应时间   24小时格式。如果我们没有包含&#34; 12:00&#34;的默认值   时间会将自己设置为用户本地计算机的时间。

     

<input type="week" name="w">将显示HTML5输入类型周   由&#34; W&#34;表示的星期的数字版本;随着   相应的一年。

     

<input type="month" name="m"> HTML5输入类型月份   正是你可能期望它做的事情。它显示月份。成为   精确它显示月份的数字版本以及   年。

     

<input type="datetime" name="dt"> HTML5输入类型Datetime   显示UTC日期和时间代码。用户可以更改时间   以一分钟为增量向前或向后移动。如果你愿意的话   显示您需要使用的用户的本地日期和时间   下一个示例datetime-local

     

<input type="datetime-local" name="dtl" step="7200">因为   日期时间一步一步,你可能想要改变   使用属性&#34; step&#34;的默认增量。在下面的   例如,通过设置,我们将增加两个小时   属性步骤为7200(60秒X 60分钟X 2)。

答案 2 :(得分:15)

对于它的价值,iOS7不再支持datetime,你需要使用{{1>} 不接受时区部分(这是有意义的)。

不起作用(iOS无论如何):

datetime-local

使用:

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

PHP for value(windows safe):

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

答案 3 :(得分:9)

这浪费了我一小时的时间。对于你渴望的海狸,以下格式适合我:

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

规范对我来说有点混乱,它说使用RFC 3339,但在我的PHP服务器上,当我使用格式DATE_RFC3339它没有初始化我的hmtl输入:( PHP&#39; s为DATE_RFC3339的常量是&#34; Ymd \ TH:i:sP&#34;在撰写本文时,你应该摆脱时区信息(我们使用datetime-LOCAL,伙计们)是有意义的。所以格式对我有用的是:

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

我会认为能够设置datepicker的值更直观,因为datepicker会显示日期,但我猜测它的显示方式因浏览器而异。

答案 4 :(得分:2)

这适用于设置INPUT的值:

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

答案 5 :(得分:1)

对于那些寻找这个的人来说,那个正确显示为HTML5-Tag:

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

答案 6 :(得分:-1)

我使用momentjs

moment(value).format("YYYY-MM-DDTHH:mm:ss")