最近12个月使用Javascript

克里斯

我有一个剑道UI图像一个,并有显示过去12个月的轴线今天的日期。
我发现可以将日期对象扩展到上个月。问题似乎是当我收到“ 2013/05/31”之类的日期而前几个月没有第31天时。

Date.prototype.toPrevMonth = function (num) {
    var thisMonth = this.getMonth();
    this.setMonth(thisMonth-1);
    if(this.getMonth() != thisMonth-1 && (this.getMonth() != 11 || (thisMonth == 11 &&      this.getDate() == 1)))
    this.setDate(0);
}


new Date().toPrevMonth(11),
new Date().toPrevMonth(10),
new Date().toPrevMonth(9),
new Date().toPrevMonth(8),
new Date().toPrevMonth(7),
new Date().toPrevMonth(6),
new Date().toPrevMonth(5),
new Date().toPrevMonth(4),
new Date().toPrevMonth(3),
new Date().toPrevMonth(2),
new Date().toPrevMonth(1),
new Date().toPrevMonth(0)

谁能帮助我解决if状态?
该函数仅显示前一个月,但是我需要前12个月。

还是有更简单的解决方案?:-)

谢谢大家!

贝克纳

使用Datejs(http://www.datejs.com/

它具有一个内置功能,可以增加几个月的时间:

Date.today().addMonths(-6);

更新:由于您不能包含外部文件,因此以下是Datejs中的相关方法。

/*
 * Copyright (c) 2006-2007, Coolite Inc. (http://www.coolite.com/). All rights reserved.
 * License: Licensed under The MIT License. See license.txt and http://www.datejs.com/license/. 
 * Website: http://www.datejs.com/ or http://www.coolite.com/datejs/
*/

Date.isLeapYear = function (year) {
    return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
};

Date.prototype.isLeapYear = function () {
    var y = this.getFullYear();
    return (((y % 4 === 0) && (y % 100 !== 0)) || (y % 400 === 0));
};

Date.getDaysInMonth = function (year, month) {
    return [31, (Date.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
};

Date.prototype.getDaysInMonth = function () {
    return Date.getDaysInMonth(this.getFullYear(), this.getMonth());
};

Date.prototype.addMonths = function (value) {
    var n = this.getDate();
    this.setDate(1);
    this.setMonth(this.getMonth() + value);
    this.setDate(Math.min(n, this.getDaysInMonth()));
    return this;
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用mysql从最近12个月获取数据

来自分类Dev

最近12个月如何列出

来自分类Dev

最近12个月的SQL总和

来自分类Dev

最近12个月如何列出

来自分类Dev

生成最近12个月的结束日期

来自分类Dev

在rails 2.3.8中查找最近12个月的记录

来自分类Dev

如何在sql中选择最近的12个月?

来自分类Dev

Oracle SQL-最近12个月的数据

来自分类Dev

计算每个月最近12个月的平均值?

来自分类Dev

使用php从当前月份获取最近3个月

来自分类Dev

SQL最近6个月

来自分类Dev

SQL最近6个月

来自分类Dev

最近13个月的数据

来自分类Dev

最近五个月的排列

来自分类Dev

在LINQ的最近3个月

来自分类Dev

MySQL最近12个月的月度销售,包括无月销售

来自分类Dev

如何以正确的月份顺序显示最近12个月的滚动

来自分类Dev

Delphi&SQLite:获取最近12个月每月的记录数

来自分类Dev

在Postgres中从Db获取最近12个月的数据以及年份

来自分类Dev

Qlikview文本对象(框)中最近12个月的ID计数

来自分类Dev

MSSQL2012(Over / Partition)最近12个月,是否包含null?

来自分类Dev

Javascript函数,需要一个月/日期,最多显示12个月/日期

来自分类Dev

JavaScript:打印之前的12个月-“三月”打印两次?

来自分类Dev

自动产生12个月

来自分类Dev

滚动12个月的报告服务

来自分类Dev

用户使用Twitter API如何获取最近三个月以来的推文

来自分类Dev

使用数组公式检查相似的合同是否在最近12个月内结束

来自分类Dev

尝试获取最近三个月的数据

来自分类Dev

SQL查询以获取最近3个月的数据