给定一个输入元素:

<input type="date" />

有没有办法将日期字段的默认值设置为今天的日期?


当前回答

这是非常简单的应用下面的代码,使用PHP

<input type="date" value="<?= date('Y-m-d', time()); ?>" />

Date函数将通过Date in time()返回当前日期。

其他回答

现在,我们不应该再使用moment.js,而是使用day.js来处理这个问题,而且没有任何副作用。js很棒,但它并没有向前推进,它相对较大,但非常有用。js具有足够好的特性,足以成为未来几年使用的新候选。

let now = dayjs(); /* same as now = dayjs(new Date()); */

你可以通过JavaScript填充默认值,如下所示:

http://jsfiddle.net/7LXPq/

$(document).ready( function() {
    var now = new Date();
    var month = (now.getMonth() + 1);               
    var day = now.getDate();
    if (month < 10) 
        month = "0" + month;
    if (day < 10) 
        day = "0" + day;
    var today = now.getFullYear() + '-' + month + '-' + day;
    $('#datePicker').val(today);
});

我可能会多花点时间看看月份和日期是否是个位数,并在它们前面加上额外的零……但这应该能给你一个概念。

编辑:增加检查额外的零。

这依赖于PHP:

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

HTML:

<input type="date" value="2022-01-31">

PHP:

<input type="date" value="<?= date('Y-m-d') ?>">

日期格式必须为“yyyy-mm-dd”

如果使用PHP,请遵循标准的Y-m-d格式

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