使用JavaScript或jQuery获取当月的第一个和最后一个日期

Moo*_*ozy 241 javascript time jquery date

可能重复:
使用JavaScript计算月中的最后一天使用JavaScript
确定一个月中的天数的最佳方法是什么?

正如标题所说,我一直在寻找一种方法来获取当前月份的第一个和最后一个日期,使用JavaScript或jQuery,并将其格式化为:

例如,对于11月,它应该是:

var firstdate = '11/01/2012';
var lastdate = '11/30/2012';
Run Code Online (Sandbox Code Playgroud)

Rob*_*obG 689

非常简单,无需图书馆:

var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
Run Code Online (Sandbox Code Playgroud)

或者您可能更喜欢:

var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
Run Code Online (Sandbox Code Playgroud)

编辑

有些浏览器会将两位数的年份视为20世纪,因此:

new Date(14, 0, 1);
Run Code Online (Sandbox Code Playgroud)

1914年1月1日.为避免这种情况,请创建一个Date,然后使用setFullYear设置其值:

var date = new Date();
date.setFullYear(14, 0, 1); // 1 January, 14
Run Code Online (Sandbox Code Playgroud)

  • 对于那些想知道使用"十二月+ 1"和本月"0"来获得上个月最后一天的人,这一切都符合规范; 请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date (5认同)
  • 在接受的答案中尝试使用代码,我得到 firstDay 为“Fri Aug 01 2014 00:00:00 GMT+0800 (SGT)”,lastDay 为“Sun Aug 31 2014 00:00:00 GMT+0800 (SGT)”当前月份这是不正确的答案。有什么改变吗? (2认同)
  • 正如@moozy 提出的问题,我正在寻找相同的: var firstdate = '11/01/2012'; var lastdate = '11/30/2012'; (2认同)
  • 喜欢简单! (2认同)

Moo*_*ozy 17

我修好了 Datejs

这是第一天警告:

var fd = Date.today().clearTime().moveToFirstDayOfMonth();
var firstday = fd.toString("MM/dd/yyyy");
alert(firstday);
Run Code Online (Sandbox Code Playgroud)

这是最后一天:

var ld = Date.today().clearTime().moveToLastDayOfMonth();
var lastday = ld.toString("MM/dd/yyyy");
alert(lastday);
Run Code Online (Sandbox Code Playgroud)