如何在HTML日期输入标签中设置日期格式?

Pio*_*otr 102 html format date input

我想知道是否可以在html <input type="date"></input>标签中设置日期格式...目前它是yyyy-mm-dd,而我需要它以dd-mm-yyyy格式.

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)

输出:

在此输入图像描述

  • 我认为他是在问 HTML 是否可行(基于问题),而不是 CSS 或 Javascript。 (2认同)

sea*_*yer 6

如果你正在使用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)

  • 有趣的是,今天,旧的方式是 jQuery 方式 (3认同)

小智 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)

  • 需求显然是,我引用 - “我需要它的 dd-mm-yyyy 格式。” 这有什么帮助? (9认同)
  • 不适用于 Firefox。此 html 显示带有占位符 mm/dd/yyyy 的输入。我的 Windows 和我的 Firefox 都将荷兰语设置为第一语言。Windows 区域设置显示短日期:30-11-2018。 (2认同)

Syn*_*ror 0

我不确定这一点,但我认为这应该由浏览器根据用户的日期/时间设置来处理。尝试将计算机设置为以该格式显示日期。