javascript - 获取当前日期之前 30 天的日期

标签 javascript date

我尝试从当前日期减去 30 天,但总是收到负数的日值。最重要的是返回日期的格式,必须是YYYY-MM-DD

我知道有类似的问题,但我找不到解决方案。

这就是我到目前为止所做的..

  var date = new Date();

  var dd = date.getDate()-30;
  var mm = date.getMonth()+1;

  var yyyy = date.getFullYear();
  if(dd<10){
    dd='0'+dd
  } 
  if(mm<10){
    mm='0'+mm
  } 
  var dateTo = yyyy+'-'+mm+'-'+dd;

以上代码将返回今天日期的 2016-07- -10,而不是 2016-07-21

最佳答案

因为您要从与日期对象没有联系的数字中减去。改变它只是改变数字。您需要从日期本身中减去天数。

var today = new Date();
var past30 = new Date();
past30.setDate(today.getDate()-30);
console.log(past30);

关于javascript - 获取当前日期之前 30 天的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482686/

相关文章:

java - 为 Date 存储本地年份

PHP date() - 插入 MySQL 数据库

sql - 按日期选择条目 ->= NOW(), MySQL

javascript - url 的正则表达式后跟某些文本

javascript - Chrome native PDF阅读器在新选项卡中打开超链接

javascript - jquery 如何切换这个特定的动画?

javascript - Three.js:单击鼠标时停止自动旋转

javascript - 如何在 JavaScript 中按类获取元素并将 aria-checked ="false"更改为 "true"?

MongoDB 日期和 ISODate 解析

javascript - 如何将javascript中的12-Jan-2016之类的日期字符串转换为2016-01-12 00 :00:00