Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript或jQuery获取当月的第一个和最后一个日期_Javascript_Jquery_Date_Time - Fatal编程技术网

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

使用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

正如标题所说,我一直在寻找一种方法,用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/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