Ste*_*art 11
你没有.
首先,您的问题含糊不清 - 您是指其向用户显示的格式,还是将其传输到Web服务器的格式?
如果您指的是向用户显示的格式,那么这取决于最终用户界面,而不是您在HTML中指定的任何内容.通常,我希望它基于在操作系统区域设置中设置的日期格式.尝试使用您自己的首选格式覆盖它是没有意义的,因为它显示的格式(通常来说)是用户区域设置的正确格式以及用户用于编写/理解日期的格式.
如果您指的是传输到服务器的格式,那么您正试图解决错误的问题.您需要做的是编写服务器端代码以接受yyyy-mm-dd格式的日期.
ash*_*att 10
我在stackoverflow上发现了相同的问题或相关问题
有没有办法改变输入类型="日期"格式?
我找到了一个简单的解决方案,你不能给粒子格式,但你可以自定义像这样.
HTML代码:
<body>
<input type="date" id="dt" onchange="mydate1();" hidden/>
<input type="text" id="ndt" onclick="mydate();" hidden />
<input type="button" Value="Date" onclick="mydate();" />
</body>
Run Code Online (Sandbox Code Playgroud)
CSS代码:
#dt{text-indent: -500px;height:25px; width:200px;}
Run Code Online (Sandbox Code Playgroud)
Javascript代码:
function mydate()
{
//alert("");
document.getElementById("dt").hidden=false;
document.getElementById("ndt").hidden=true;
}
function mydate1()
{
d=new Date(document.getElementById("dt").value);
dt=d.getDate();
mn=d.getMonth();
mn++;
yy=d.getFullYear();
document.getElementById("ndt").value=dt+"/"+mn+"/"+yy
document.getElementById("ndt").hidden=false;
document.getElementById("dt").hidden=true;
}
Run Code Online (Sandbox Code Playgroud)
输出:
如果你正在使用jQuery,这是一个很好的简单方法
$("#dateField").val(new Date().toISOString().substring(0, 10));
Run Code Online (Sandbox Code Playgroud)
或者有传统的旧方式:
document.getElementById("dateField").value = new Date().toISOString().substring(0, 10)
Run Code Online (Sandbox Code Playgroud)
小智 5
为什么不按原样使用 html5 日期控件,它具有其他属性,可以在支持日期类型的浏览器上正常工作,并且仍然可以在其他浏览器(如尚未支持日期类型的 firefox)上工作
<input type="date" name="input1" placeholder="YYYY-MM-DD" required pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}" title="Enter a date in this formart YYYY-MM-DD"/>
Run Code Online (Sandbox Code Playgroud)