我有点问题。我正在开发一个Web系统,表单字段类型日期让我很头疼。该系统仅供巴西用户使用,日期格式应为dd / mm / yyyy。从具有葡萄牙语的计算机访问该站点时,HTML表单字段类型的日期以我想要的方式工作。但是当以计算机语言访问网站时,英文日期格式变为yyyy-mm-dd。这是一个问题,因为有时用户甚至没有注意到您的计算机的日期格式已更改,但用户希望以dd / mm / yyyy格式查看日期。
我需要的是格式为dd / mm / yyyy,无论访问网站的机器设置如何,也不使用任何其他javascript库。
使用的代码是:
<input type="date" id="date">
答案 0 :(得分:5)
没有这样的事情。 input type=date
将获取您的系统默认值,并在GUI中显示该值,但始终以ISO格式(yyyy-mm-dd)存储该值。除此之外,请注意并非所有浏览器都支持此功能,因此依赖此输入类型并不是一个好主意。
如果这是一个公司问题,请强制所有计算机使用本地区域格式(dd-mm-yyyy),您的UI将以此格式显示它(更改区域设置之前请参阅wufoo链接,您需要重新打开浏览器)。
请参阅:http://caniuse.com/#feat=input-datetime了解浏览器支持
请参阅:https://www.w3.org/TR/2011/WD-html-markup-20110525/input.date.html了解规范。 &lt; - 没有格式attr。
您最好的选择仍然是使用基于JavaScript的组件,这样您就可以根据自己的需要进行自定义。
答案 1 :(得分: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");
}
}
答案 2 :(得分:-5)
DEMO: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);