javascript - 如何使用正确的格式从所选日期中减去 1 个月

标签 javascript

我想从所选日期中减去 1 个月并以这种格式获取它 mm/dd/yyyy

self.SelectedDate = "02/22/2018";
var temp = new Date(self.SelectedDate);
    temp.setDate(temp.getDate() - 30);

但我得到的结果是 Mon Jan 08 2018 00:00:00 GMT+0800(马来半岛标准时间)

这只是我程序中的一小部分,所以我不想为此下载一个库。我正在使用 AngularJS,有没有一种方法可以在不下载或添加 Angular 过滤器的情况下获得我想要的东西?

最佳答案

Date constructor不接受这种格式的字符串。

self.SelectedDate = "02/22/2018";
var p = self.SelectedDate.split("/");
var temp = new Date(p[2],p[0]-1,p[1]);
    temp.setDate(temp.getDate() - 30);
const pad = n=>("0"+n).slice(-2);
var f = [pad(temp.getMonth()+1),pad(temp.getDate()),temp.getFullYear()].join("/");
console.log(f);

关于javascript - 如何使用正确的格式从所选日期中减去 1 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48919467/

相关文章:

javascript - 如何将 vanilla JavaScript 添加到 vue.js 项目?

javascript - 路由在 Node.js 中不起作用

javascript - 通过http请求将列表从 Angular 传递到C#

javascript - 如何为不同高度的多个实例设置CKEditor?

javascript - 创建一个更改日志表,记录下拉菜单中的更改

javascript - 居中的 div 锁定到位,不能上下移动

javascript - 带有嵌套 if 的 else 语句

javascript - 使用库 @kubernetes/client-nde 时无法读取未定义的属性(读取 'KubeConfig' )

javascript - 在 <asp :ScriptReference> Path property value 上追加查询字符串

javascript - 为什么这不起作用? (某些输出上的 toLocaleString)