首页 > 解决方案 > 当前日期减去 n 天,格式为 'mm/dd/yyyy'

问题描述

我尝试在 javascript 中获取当前日期减去一些增量天数并将结果格式化为 mm/dd/yyyy。我写了这段代码:

  <script>
     function deltadata(d_delta) {
         var d = new Date();

         d.setDate(d.getDate() - d_delta);
         var dd = String(d).padStart(2, '0');
         var mm = String(d.getMonth +1).padStart(2, '0');
         var yyyy = d.getFullYear();

         today = mm + '/' + dd + '/' + yyyy;

         return today;
       }
  </script>

但结果不是我所期望的

function getMonth() { [native code] }1/Wed Feb 19 2020 12:45:49 GMT+0100 (Central European Standard Time)/2020

有人可以帮助我吗?

非常感谢

标签: javascriptdate

解决方案


您可以Date.prototype.toLocaleDateString()为此目的使用,并相应地指定格式选项:

const deltaDate = n => {
  const today = new Date()
  today.setDate(today.getDate() - n)
  return today
    .toLocaleDateString('en-US', {month:'2-digit',day:'2-digit',year:'numeric'})
}

console.log(deltaDate(3))


推荐阅读