A. 如何使用js获取某月的第一天和最后一天
推荐使用moment.js这个库,非常简单就可以实现了:
vard=moment("2015-01","YYYY-MM");//按照指定的年月字符串和格式解析内出一个moment的日期对象
varfirstDate=d.startOf("month");//通过startOf函数容指定取月份的开始即第一天
varlastDate=d.endOf("month");//通过startOf函数指定取月份的末尾即最后一天
B. JS获取指定月份的天数两种实现方法
最近看到一个有意思的试题,正好在需求中也碰到类似的问题,即计算某个月的天数问题。碰到类似问题也许大部分会想是不是还要判断闰年、平年,如果这样想的话就复杂了,下面给出具体的计算方法。
获取月份天数方法一:
//传入年份和月份
获取该年对应月份的天数
function
getMonthDays(year,month){
var
thisDate
=
new
Date(year,month,0);
//当天数为0
js自动处理为上一月的最后一天
return
thisDate.getDate();
}
上面应该时获取月份天数最简单的方法之一了,当Date中参数超出范围时js会自动处理,如果传值小于等于0,则日期将会向前推,否则日期将会向后推。下面时MDN原文,也提到了此现象:
Note:
当Date作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为13或者分钟数为70),相邻的数值会被调整。比如
new
Date(2013,
13,
1)等于new
Date(2014,
1,
1),它们都表示日期2014-02-01(注意月份是从0开始的)。其他数值也是类似,new
Date(2013,
2,
1,
0,
70)等于new
Date(2013,
2,
1,
1,
10),都表示时间2013-03-01T01:10:00。
下面给出几个例子供参考:
1.参数传入负数
2.传入大于规定范围的值
以上可看出,js本身对日期处理还是比较好的,同时开发人员也可以利用这一点获取想要的结果。
获取月份天数方法一:
下面就是比较正常的获取方式了,代码:
//根据两个月份同一天的差值获取,同样是传入需要获取的对应年份和月份
function
getMonthDays(year,month){
var
stratDate
=
new
Date(year,month-1,1),
endData
=
new
Date(year,month,1);
var
days
=
(endData
-stratDate)/(1000*60*60*24);
return
days;
}
第二种方式则是根据所求月份和下一个月份某一天的差值获取对应月份的天数。
总结
以上所述是小编给大家介绍的JS获取指定月份的天数两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:JS获取月份最后天数、最大天数与某日周数的方法JS获取月的最后一天与JS得到一个月份最大天数的实例代码
C. JS 里如何取某一天的前后三天日期,如下有代码 ,请帮我修改一下
setMonth(month)的参数有问题。month介于 0(一月) ~ 11(十二月) 之间。所以应该改为:
sdate.setMonth(parseInt(selectdate.substring(5,7))-1);
var strMonth=date.getMonth()+1;
dateObject.setMonth(month,day)
month 必需内。一个表示月份的数容值,该值介于 0(一月) ~ 11(十二月) 之间。
day 可选。一个表示月的某一天的数值,该值介于 1 ~ 31 之间(以本地时间计)。在 EMCAScript 标准化之前,不支持该参数。
另外,你这里还有一个bug。把截取出来的月份和日期转化为int型的时候,月份和日期可能出现以0开头的值,例如:07,09...,而以0开头的数会被javascript认为是八进制的数,如果值小于8不会有问题,但是如果值大于或等于8(08和09)的时候得到的结果就会不正常(等于0)。
D. js如何去当前时间前一天的时间和后一天
functionGetDateStr(AddDayCount){
vardd=newDate();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
vary=dd.getFullYear();
varm=dd.getMonth()+1;//获取当前月份的日期
vard=dd.getDate();
returny+"-"+m+"-"+d;
}
document.write("前天:内"+GetDateStr(-2));
document.write("<br/>昨天:"+GetDateStr(-1));
document.write("<br/>今天:"+GetDateStr(0));
document.write("<br/>明天:"+GetDateStr(1));
document.write("<br/>后天容:"+GetDateStr(2));
document.write("<br/>大后天:"+GetDateStr(3));
参考下
E. js中如何获取当年的最后一天
<htmlxmlns="http://www.w3.org/1999/xhtml">
<metacharset="UTF-8">
<head>
<title>获取当年当月最后一天日期</title>
<scriptlanguage="javascript">
functiongetLastDay(){
varyear=document.getElementById('year').value;
varmonth=document.getElementById('month').value;
varnew_year=year;//取当前的年份
varnew_month=month++;//取下一个月的第一天,方便计算(最后一天不固定)
if(month>12){//如果当前大于12月,则年份转到下一年
new_month-=12;//月份减
new_year++;//年份增
}
varnew_date=newDate(new_year,new_month,1);//取当年当月中的第一天
return(newDate(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期
}
</script>
<body>
year:<inputid="year"value=""type="text">
<br/>
mont:<inputid="month"value=""type="text">
<br/>
<inputid="Button1"type="button"value="最后一天"onClick="alert(getLastDay())"/>
</body>
</html>