使用JavaScript或jQuery获取当月的第一个和最后一个日期
正如标题所说,我一直在寻找一种方法,用JavaScript或jQuery获取当月的第一个和最后一个日期,并将其格式化为: 例如,11月份应为:使用JavaScript或jQuery获取当月的第一个和最后一个日期,javascript,jquery,date,time,Javascript,Jquery,Date,Time,正如标题所说,我一直在寻找一种方法,用JavaScript或jQuery获取当月的第一个和最后一个日期,并将其格式化为: 例如,11月份应为: var firstdate = '11/01/2012'; var lastdate = '11/30/2012'; 我用一根绳子把它修好了 这是第一天发出的警报: var fd = Date.today().clearTime().moveToFirstDayOfMonth(); var firstday = fd.toString("MM/dd/y
var firstdate = '11/01/2012';
var lastdate = '11/30/2012';
我用一根绳子把它修好了
这是第一天发出的警报:
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);
非常简单,不需要库:
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日。为了避免这种情况,请创建一个日期,然后使用setFullYear设置其值:
不要让它变得困难,一个月的最后一天是下个月第一天的-1天。这很好:在接受的答案中尝试了代码,我得到的第一天是“Fri Aug 01 2014 00:00:00 GMT+0800(SGT)”,最后一天是“Sun Aug 31 2014 00:00 GMT+0800(SGT)”,这是不正确的答案。有什么变化吗?@Kush你到底期待什么答案?正如@moozy在问题中所问的那样,我在寻找相同的答案:var firstdate='11/01/2012';var lastdate='11/30/2012'@当前月份是8月,因此它将返回8月的日期。如果您想要其他月份,请为该月份的第一个月创建一个日期,并使用上述算法获取最后一个日期,例如2014年11月:
var firstDay=新日期(2014,10,1);var lastDay=新日期(2014年11月0日)代码>。对于像我这样想知道如何使用“12月1日”和当月的“0”来获取上个月的最后一天的人来说,这一切都符合规范;看见
var date = new Date();
date.setFullYear(14, 0, 1); // 1 January, 14