课程表

CoffeeScript 语法

CoffeeScript 类和对象

CoffeeScript 字符串

CoffeeScript 数组

CoffeeScript 日期和时间

CoffeeScript 数学

CoffeeScript 方法

CoffeeScript 元编程

CoffeeScript jQuery

CoffeeScript 正则表达式

CoffeeScript 网络

CoffeeScript 设计模式

CoffeeScript 数据库

CoffeeScript 测试

工具箱
速查手册

找到上一个月(或下一个月)

当前位置:免费教程 » JS/JS库/框架 » CoffeeScript

问题

你需要计算相关日期范围例如“上一个月”,“下一个月”。

解决方案

添加或减去当月的数字,JavaScript 的日期构造函数会修复数学知识。

  1. # these examples were written in GMT-6
  2. # Note that these examples WILL work in January!
  3. now = new Date
  4. # => "Sun, 08 May 2011 05:50:52 GMT"
  5. lastMonthStart = new Date 1900+now.getYear(), now.getMonth()-1, 1
  6. # => "Fri, 01 Apr 2011 06:00:00 GMT"
  7. lastMonthEnd = new Date 1900+now.getYear(), now.getMonth(), 0
  8. # => "Sat, 30 Apr 2011 06:00:00 GMT"

讨论

JavaScript 的日期对象会处理下溢和溢出的月和日,并将相应调整日期对象。例如,你可以要求寻找三月的第 42 天,你将获得 4 月 11 日。

JavaScript 对象存储日期为从 1900 开始的每年的年份数,月份为一个 0 到 11 的整数,日期为从 1 到 31 的一个整数。在上述解决方案中,上个月的起始日是要求在本年度某一个月的第一天,但月是从 -1 至 10 。如果月是 -1 的日期对象将实际返回为前一年的十二月:

  1. lastNewYearsEve = new Date 1900+now.getYear(), -1, 31
  2. # => "Fri, 31 Dec 2010 07:00:00 GMT"

对于溢出是同样的:

  1. thirtyNinthOfFourteember = new Date 1900+now.getYear(), 13, 39
  2. # => "Sat, 10 Mar 2012 07:00:00 GMT"
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号