如何强制输入日期格式为 dd/mm/yyyy? [复制]
Posted
技术标签:
【中文标题】如何强制输入日期格式为 dd/mm/yyyy? [复制]【英文标题】:How to force the input date format to dd/mm/yyyy? [duplicate] 【发布时间】:2015-07-04 13:47:26 【问题描述】:我有一个小问题。我正在开发一个网络系统,表单字段类型日期让我很头疼。该系统将仅适用于巴西用户,日期格式应为 dd/mm/yyyy。从使用葡萄牙语的计算机访问该站点时,html 表单字段类型的日期按我想要的方式工作。但是当以计算机语言访问该站点时,英语日期格式变为 yyyy-mm-dd。这是一个问题,因为有时用户甚至没有注意到您计算机的日期格式已更改,但用户希望以 dd/mm/yyyy 格式查看日期。
我需要的是格式为 dd/mm/yyyy,无论访问该站点的机器设置如何,并且不使用任何额外的 javascript 库。
使用的代码是:
<input type="date" id="date">
【问题讨论】:
这里有一个类似的问题:***.com/questions/6978631/… 【参考方案1】:没有这样的事情。 input type=date
将选择您的系统默认值并在 GUI 中显示,但始终以 ISO 格式 (yyyy-mm-dd) 存储该值。此外请注意,并非所有浏览器都支持此功能,因此依赖此输入类型并不是一个好主意。
如果这是企业问题,请强制所有计算机使用本地区域格式 (dd-mm-yyyy),您的 UI 会以这种格式显示(请参阅 wufoo 链接之前更改区域设置后,您需要重新打开浏览器)。
参见:http://www.wufoo.com/html5/types/4-date.html 例如
浏览器支持请参见:http://caniuse.com/#feat=input-datetime
请参阅:https://www.w3.org/TR/2011/WD-html-markup-20110525/input.date.html 了解规格。
您最好的选择仍然是使用基于 JavaScript 的组件,它允许您根据需要自定义它。
【讨论】:
【参考方案2】:要在不考虑计算机设置的情况下使用恒定的日期格式,您必须使用 3 个不同的输入元素来分别捕获日、月和年。但是,您需要验证用户输入以确保您的日期有效,如下所示
<input id="txtDay" type="text" placeholder="DD" />
<input id="txtMonth" type="text" placeholder="MM" />
<input id="txtYear" type="text" placeholder="YYYY" />
<button id="but" onclick="validateDate()">Validate</button>
function validateDate()
var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value);
if (date == "Invalid Date")
alert("jnvalid date");
【讨论】:
如果你打算有单独的输入,你应该至少有一个月份的下拉列表,显示月份的名称(或其缩写)。这样,控件就可以自己说话,包括在不识别placeholder
的旧浏览器中。此外,请确保您的服务器端脚本拒绝 2 位数年份。这样一来,如果有人尝试使用 YMD 格式,它就会发现错误,同时也消除了世纪歧义的任何可能性。【参考方案3】:
演示:http://jsfiddle.net/shfj70qp/
//dd/mm/yyyy
var date = new Date();
var month = date.getMonth();
var day = date.getDate();
var year = date.getFullYear();
console.log(month+"/"+day+"/"+year);
【讨论】:
我认为你需要重新阅读这个问题。以上是关于如何强制输入日期格式为 dd/mm/yyyy? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何屏蔽 EditText 以显示 dd/mm/yyyy 日期格式
如何将 postgres 中的日期类型设置为 DD/MM/YYYY 格式
如何迅速转换日期格式 yyyy-mm-dd转为yyyy/mm/dd
如何以 HTML5 输入类型日期格式(dd/mm/yyyy)显示猫鼬日期,