指定HTML5输入类型=日期的值输出?

时间:2010-08-16 18:46:15

标签: javascript jquery html5 datepicker web-standards

我想将原生日期选择器添加到我的应用程序中,该应用程序目前使用传统的自制卷系统。日期输入支持并不普遍,但如果我可以基于兼容性呈现两种实现,那将是理想的。

有没有办法指定HTML datepicker给出的值的输出? opera的默认值为yyyy-mm-dd,我非常明确地需要dd-MMM-yyyy

目前有没有办法控制此输出?

3 个答案:

答案 0 :(得分:24)

HTML5 date input字段特定于其使用的格式: RFC 3339 full-date

是否可以将旧版日期选择器更改为使用yyyy-mm-dd格式(并更新读取该格式的服务器端)?

我假设没有,那么您可以添加一些Javascript粘合代码,用于侦听HTML5输入上的更改事件,并更新隐藏日期值字段以匹配旧日期选择器的格式(将yyyy-mm-dd转换为DD-MMM-YYYY)。

答案 1 :(得分:15)

在谷歌浏览器中,这最近发生了变化。显示给用户的值现在基于操作系统区域设置。但是,无论演示格式如何,读数(input.value始终返回为yyyy-mm-dd

在我看来,这种做法更有用。

来源:

http://updates.html5rocks.com/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome

答案 2 :(得分:0)

HTML日期字段的格式是标准格式。虽然无法更改此设置,但您可以轻松地将日期对象转换为您要查找的格式,前提是您的用户已启用JavaScript。

// Converts any valid Date string or Date object into the format dd-MMM-yyyy
function dateTransform(d) {
    var s = (new Date(d)).toString().split(' ');
    return [s[2],s[1],s[3]].join('-');
}

否则,您需要以ISO格式提交并实施服务器端解决方案。也许及时,这可能会导致在每个地方更多地使用标准日期格式。