我想将原生日期选择器添加到我的应用程序中,该应用程序目前使用传统的自制卷系统。日期输入支持并不普遍,但如果我可以基于兼容性呈现两种实现,那将是理想的。
有没有办法指定HTML datepicker给出的值的输出? opera的默认值为yyyy-mm-dd
,我非常明确地需要dd-MMM-yyyy
。
目前有没有办法控制此输出?
答案 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格式提交并实施服务器端解决方案。也许及时,这可能会导致在每个地方更多地使用标准日期格式。