当我以yyyy-mm-dd格式加载页面时,如何在文本框中显示自动当前日期
<tr><td>*Date:</td></tr>
<tr><td><div id="ma"><input type="text" name="dte" id="text1"> </div>
<script type="text/javascript">
document.getElementById("text1").value = Date().toString();
</script>
</td></tr>
答案 0 :(得分:3)
我没有足够的声誉,所以我无法将评论添加到Mike。
就像迈克的解决方案一样,但有一些小错误:
getDay()
返回工作日的数字(0-6),因此您应该使用getDate()
getMonth()
返回0-11,所以你应该+1。
var d = new Date();
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (Math.floor(day / 10) === 0) {
day = "0" + day;
}
if (Math.floor(month / 10) === 0) {
month = "0" + month;
}
document.getElementById("text1").value = year + "-" + month + "-" + day;
答案 1 :(得分:1)
一个简单的解决方案就是做这样的事情:
var d = new Date();
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (Math.floor(day / 10) === 0) {
day = "0" + day;
}
if (Math.floor(month / 10) === 0) {
month = "0" + month;
}
document.getElementById("text1").value = year + "-" + month + "-" + day;
编辑:修正了国子抓住的错误。
答案 2 :(得分:1)
如果您要进行大量格式化,可能需要考虑moment.js。有了它,您可以使用以下方法轻松设置值:
moment().format('YYYY-MM-DD');
如果你只是格式化那个日期,那么它可能不值得花费,但作为一个库,它允许你保持特定于站点的JS清理。
答案 3 :(得分:1)
您要做的是在JavaScript中以ISO 8601格式编写日期。有几种方法可以做到这一点。以下是一种简单的纯JavaScript方式,适用于各种浏览器:
function toISO8601(date) {
var d = date.getDate();
if(d < 10) d = '0' + d;
var m = date.getMonth() + 1;
if(m < 10) m = '0' + m;
return date.getFullYear() + '-' + m + '-' + d;
}
document.getElementById("text1").value = toISO8601(Date());
答案 4 :(得分:0)
使用php时,这也是一个不错的选择:
<input type="text" name="dte" id="text1" value="<?= date("Y-m-d") ?>">