inputtypesDateTime – 值的格式?

我应该使用哪种格式的date和时间,用于使用DateTimetypes的HTML5input元素?

我努力了:

  • 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

他们似乎没有任何工作。

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

代表全球date和时间的string。

价值 :[RFC 3339]中定义的有效date时间,具有以下附加条件:

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

•全日制产品被定义为代表大于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

更新:

此function已过时。 虽然它可能在某些浏览器中仍然有效,但由于可以在任何时候删除它,所以不鼓励使用它。 尽量避免使用它。

HTML是用于inputdate和时间(小时,分钟,秒和小数秒)以及时区的控件。 此function已从WHATWG HTML中删除,并且不再支持浏览器。

相反,浏览器正在实现(并鼓励开发者使用)date时间本地inputtypes。

为什么从已经支持HTML5inputtypes的date时间的浏览器中删除?

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

这篇文章似乎显示了可接受的有效types

 <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">这个HTML5inputtypes“date”的例子结合了min和max属性我们可以限制用户可以input的date。 属性min和max不相互依赖,可以独立使用。

HTML5inputtypes“time”允许用户select以24小时格式显示的相应时间。 如果我们没有包含“12:00”的默认值,那么时间会自动设置为用户本地机器的时间。

<input type="week" name="w"> HTML5inputtypes周将显示用“W”表示的星期的数字版本以及相应的年份。

<input type="month" name="m"> HTML5inputtypes的月份确实如您所期望的那样。 它显示月份。 确切地说,它显示了月份的数字版本和年份。

<input type="datetime" name="dt"> HTML5inputtypesDatetime显示UTCdate和时间码。 用户可以以一分钟为单位向前或向后更改时间步长。 如果您希望显示用户的本地date和时间,则需要使用下一个示例datetime-local

<input type="datetime-local" name="dtl" step="7200">由于datetime一次只能执行一分钟,所以您可能希望使用属性“step”更改默认增量。 在下面的例子中,通过将属性步设置为7200(60秒X 60分钟X 2),我们将它增加两个小时。

对于什么是值得的,与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安全):

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

这浪费了我一个小时的时间。 对于你渴望的海狸,下面的格式为我工作:

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

这个规范有点让我困惑,它说使用RFC 3339,但是在我的PHP服务器上,当我使用DATE_RFC3339格式时,它并没有初始化我的hmtlinput:( DATE_RFC3339的PHP常量是“Ymd \ TH:i:sP “在写作的时候,你应该摆脱时区信息(我们使用的是datetime-LOCAL,伙计们)是合理的,所以对我来说,格式是:

 "Ymd\TH:i:s" 

我会认为它能够更直观地设置dateselect器的值,因为dateselect器显示date,但是我猜测它在不同浏览器上显示的方式是不同的。

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

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

这适用于设置INPUT的值:

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