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

2022-08-29 23:35:36

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

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

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

答案 1

非常简单,不需要库:

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

或者您可能更喜欢:

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世纪,因此:

new Date(14, 0, 1);

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

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

答案 2

我用Datejs修复了它

这是第一天的警报:

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

这是最后一天:

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