当前位置: 首页 > 知识库问答 >
问题:

Javascript-获取上个月日期

桂梓
2023-03-14

如果我有一个返回日期的变量,格式为dd-MMM-yyyy,那么2014年8月28日,如何获取上个月的日期。

我可以通过以下方式修改月份:

$scope.DateMapping = function (months) {

    var myVariable = "28 Aug 2014"
    var makeDate = new Date(myVariable);
    prev = new Date(makeDate.getFullYear(), makeDate.getMonth()+1, 1);

});

本质上,这是在月份中增加一个...但是我怎么能解释年份,所以如果当前日期是2014年12月12日,之前的日期是2013年1月12日?

我的应用程序使用AngularJS可以使用过滤器。

更新时间:

    var myVariable = "28 Aug 2014"
    var makeDate = new Date(myVariable);
    var prev = new Date(makeDate.getFullYear(), makeDate.getMonth()+1, makeDate.getMonth());

    console.log(myVariable)
    console.log(makeDate)
    console.log(prev)

Output:

    28 Aug 2014
    Thu Aug 28 2014 00:00:00 GMT+0100 (GMT Standard Time)
    Mon Sep 01 2014 00:00:00 GMT+0100 (GMT Standard Time)

为什么虽然月份增加了,但日子显示为01而不是28?

共有3个答案

梁宪
2023-03-14

对于所有与日期相关的活动,我建议使用moment.js库,当您使用AngularJS时,有一个库:https://github.com/urish/angular-moment.

看看moment.js留档,你会发现它使在JavaScript中操作日期变得更加容易:http://momentjs.com/docs/#/get-set/month/

您将很容易解决您面临的问题,例如:

var now = moment('01/01/2014').subtract(1, 'months').format('DD/MM/YYYY');

现在等于2013年12月1日。

束涵涤
2023-03-14

只需从month参数中减去月数,就不用担心值是否为负值。它将被正确处理。

new Date(2014, 0, 1) // 1st Jan 2014
new Date(2014, -1, 1) // 1st Dec 2013
通鸿风
2023-03-14
var myVariable = "28 Aug 2014"
var makeDate = new Date(myVariable);
makeDate = new Date(makeDate.setMonth(makeDate.getMonth() - 1));

更新时间:

较短的版本:

var myVariable = "28 Aug 2014"
var makeDate = new Date(myVariable);

console.log('Original date: ', makeDate.toString());

makeDate.setMonth(makeDate.getMonth() - 1);

console.log('After subtracting a month: ', makeDate.toString());
 类似资料:
  • 问题内容: 我想知道上个月的日期。我这样写: 这给了我当前的月份/年份。我不知道我是否应该使用,。时间戳记了吗?我是否需要在事后添加一些内容以进行重置,以便在我网站上所有时间戳的所有时间中,日期都不设置为上个月?我正在尝试RTM,但我很难弄清楚。 问题答案: 获取上个月的日期很简单 11月3日返回

  • 问题内容: 如何从JavaScript中的日期对象生成月份名称(例如:Oct / October)? 问题答案: 现在可以使用ECMAScript国际化API来做到这一点: 使用月份的全名,简称和更短的版本(例如字母语言中的第一个字母)。 你可以将语言环境从浏览器更改为任何你喜欢的语言环境(例如),它将使用该语言/国家/地区的正确名称。 使用时,你每次必须传递语言环境和选项。如果要在多个不同的日期

  • 本文向大家介绍iOS获取某个日期后n个月的日期,包括了iOS获取某个日期后n个月的日期的使用技巧和注意事项,需要的朋友参考一下 一、给一个时间,给一个数,正数是以后n个月,负数是前n个月; 二、设置你需要增加或减少的年、月、日即可获得新的日期,上述的表示获取mydate日期前一个月的日期,如果该成+1,则是一个月以后的日期,以此类推都可以计算。 总结 以上所述是小编给大家介绍的iOS获取某个日期后

  • 嗯,我在这里发现了很多这样的问题,试图获得年、月和日的两个日期之间的差异。。。但没有满足我要求的答案。 所以我写了一些计算的东西,它似乎是有效的,但也许这里的一些专家可以进行更正,或者帮助使这更简单。

  • 问题内容: 我正在尝试使用python获取上个月的日期。这是我尝试过的: 但是,这种方法很糟糕,原因有两个:首先,它返回2012年2月的20122(而不是201202),其次它将返回0而不是1月的12。 我已经用bash解决了这个麻烦 我认为,如果bash为此目的具有内置方式,那么功能更强大的python应该比强迫编写自己的脚本来实现此目标更好。我当然可以做类似的事情: 我没有测试过此代码,也不想

  • 问题内容: 如标题所述,我一直坚持寻找一种方法来使用JavaScript或jQuery获取当月的第一天和最后一个日期,并将其格式设置为: 例如,对于11月,应为: 问题答案: 非常简单,不需要库: 或者您可能更喜欢: 编辑 一些浏览器会将20年视为两位数,因此: 给出1914年1月1日。为避免这种情况,请创建一个Date,然后使用 setFullYear 设置其值: