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

Get first and last date of current month with JavaScript or jQuery

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Calculate last day of month in JavaScript
What is the best way to determine the number of days in a month with JavaScript?

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

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

1
2
var firstdate = '11/01/2012';
var lastdate = '11/30/2012';


非常简单,无需图书馆:

1
2
3
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);

或者您可能更喜欢:

1
2
3
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);

编辑

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

1
new Date(14, 0, 1);

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

1
2
var date = new Date();
date.setFullYear(14, 0, 1); // 1 January, 14


我用Datejs修复了它

这是第一天警告:

1
2
3
var fd = Date.today().clearTime().moveToFirstDayOfMonth();
var firstday = fd.toString("MM/dd/yyyy");
alert(firstday);

这是最后一天:

1
2
3
var ld = Date.today().clearTime().moveToLastDayOfMonth();
var lastday = ld.toString("MM/dd/yyyy");
alert(lastday);