日期在文本框中,格式为yyyy-mm-dd

时间:2014-07-30 00:53:08

标签: javascript html date

当我以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>

5 个答案:

答案 0 :(得分:3)

我没有足够的声誉,所以我无法将评论添加到Mike。

就像迈克的解决方案一样,但有一些小错误:

  1. getDay()返回工作日的数字(0-6),因此您应该使用getDate()
  2. 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") ?>">