如何将输入类型日期的默认值设置为今天?

html HTML

Stafan梅

2020-03-23

HTML5输入类型很棒,Opera的新内置日期选择器轻而易举,Chrome至少已通过转轮实现支持新输入类型。

但是,有什么方法可以将date字段的默认值设置为今天的日期吗?使用Opera时,我可以从日期选择器中选择“今天”,然后单击Chrome中的任一步骤按钮,它就会从今天的日期开始递增/递减。

我不愿意为这个小问题编写解决方案的代码,但是对我来说,这两个浏览器都完全了解当前日期,却不会自动将其弹出(至少作为占位符),这对我来说似乎很愚蠢。

第2726篇《如何将输入类型日期的默认值设置为今天?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
凯西里 2020.03.23

非常简单,只需使用服务器端语言,例如PHP,ASP,JAVA,甚至可以使用javascript。

这是解决方案

<?php
  $timezone = "Asia/Colombo";
  date_default_timezone_set($timezone);
  $today = date("Y-m-d");
?>
<html>
  <body>
    <input type="date" value="<?php echo $today; ?>">
  </body>
</html>
泡芙 2020.03.23

的HTML

<input type="date" id="theDate">

JS

$(document).ready(function() {
    var date = new Date();

    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear();

    if (month < 10) month = "0" + month;
    if (day < 10) day = "0" + day;

    var today = year + "-" + month + "-" + day;       
    $("#theDate").attr("value", today);
});

演示

如果您不想使用jQuery,则可以执行以下操作

的HTML

<input type="date" id="theDate">

JS

var date = new Date();

var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();

if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;

var today = year + "-" + month + "-" + day;       
document.getElementById("theDate").value = today;

演示

猴子村村 2020.03.23

如果使用的是PHP,请遵循标准的Ymd格式

<input type="date" value="<?php echo date("Y-m-d"); ?>">

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android