设置值时,日期会更改

时间:2019-05-30 13:39:31

标签: javascript jquery google-chrome

我面临一个奇怪的问题,我有一个获取当前日期的函数。可能不是最好的,但是没关系。然后,我使用该函数设置隐藏输入的值:

function gettoday() {
  var d = new Date();
  var month = d.getMonth() + 1;
  var day = d.getDate();

  var out = (day < 10 ? '0' : '') + day + '/' +
    (month < 10 ? '0' : '') + month + '/' +
    d.getFullYear();
  return out;
}

something.attr('value', String(gettoday()));

当我这样做时,日期变为31/12/1969gettoday()函数返回正确的日期。有什么想法会发生什么吗?我尝试调试该呼叫,但没有任何反应。在Chrome或Firefox中也是如此。谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用val格式的yyyy-mm-dd设置值,请尝试以下代码段

function gettoday() {
  var d = new Date();

  var month = d.getMonth() + 1;
  var day = d.getDate();

  var out = d.getFullYear() + '-' + (month < 10 ? '0' : '') + month + '-' + (day < 10 ? '0' : '') + day;
  return out;
}

$('input').val(gettoday());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="date">