您可以使用 JavaScript 来做到这一点。
在您的input 元素中包含一些ids,以便您可以在JS 中识别它们:
<input type="hidden" id="date" name="date" value="CurrentTime">
<input type="hidden" id="time" name="time" value="CurrentDate">
然后您可以使用 JS 的Date() 函数来获取当前日期。创建一个变量为new Date(),然后使用该变量上的方法来获取您想要的日期和时间部分!
这是您需要的脚本:
<script type="text/javascript">
var d = new Date();
// Set the value of the "date" field
document.getElementById("date").value = d.toDateString();
// Set the value of the "time" field
var hours = d.getHours();
var mins = d.getMinutes();
var seconds = d.getSeconds();
document.getElementById("time").value = hours + ":" + mins + ":" + seconds;
</script>
这里有一个 JSFiddle 可以看到它的实际效果:https://jsfiddle.net/y3go8hm8/ -
请注意,我已将 type 更改为 text,而不是 hidden - 否则您将无法看到它工作!)
格式化
您可以随意格式化日期,因此我上面的示例将日期设置为“2010 年 6 月 12 日星期一”格式。
假设你想要dd/MM/yyyy 格式:
// Get today's date
var day = d.getDate();
var month = d.getMonth() + 1; // The months are 0-based
var year = d.getFullYear();
// Set the date field to the current date
document.getElementById("date").value = day + "/" + month + "/" + year;
需要注意的是,小于 10 的月份或天数将仅显示为 1 位数字(例如 2014 年 12 月 3 日)。同样,这也适用于time。
如果愿意,您可以循环查看日期和月份并在前面加上 0;
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
对当时的hours 和mins 做同样的事情:
if (hours < 10) {
hours = "0" + hours;
}
if (mins < 10) {
mins = "0" + mins;
}
然后将值分配给字段,如上所述。
这也是一个 JSFiddle:https://jsfiddle.net/y3go8hm8/1/
希望这会有所帮助! :)