JS中在当前日期上追加一天:
Date本来就有setDate()的方法 ,用getDate()出来的数值+1就是加1天 如果大于本月最大天数会自动往下加一个月的
如:
<script language="javascript">
var now = new Date();
now.setDate(now.getDate()+1);
alert(now);
</script>
获取上一个月或者下一个月的算法
- </pre>js获取上一个月和下一个月<pre name="code" class="javascript">/**
- * 获取上一个月
- *
- * @date 格式为yyyy-mm-dd的日期,如:2014-01-25
- */
- function getPreMonth(date) {
- var arr = date.split('-');
- var year = arr[0]; //获取当前日期的年份
- var month = arr[1]; //获取当前日期的月份
- var day = arr[2]; //获取当前日期的日
- var days = new Date(year, month, 0);
- days = days.getDate(); //获取当前日期中月的天数
- var year2 = year;
- var month2 = parseInt(month) - 1;
- if (month2 == 0) {
- year2 = parseInt(year2) - 1;
- month2 = 12;
- }
- var day2 = day;
- var days2 = new Date(year2, month2, 0);
- days2 = days2.getDate();
- if (day2 > days2) {
- day2 = days2;
- }
- if (month2 < 10) {
- month2 = '0' + month2;
- }
- var t2 = year2 + '-' + month2 + '-' + day2;
- return t2;
- }
- /**
- * 获取下一个月
- *
- * @date 格式为yyyy-mm-dd的日期,如:2014-01-25
- */
- function getNextMonth(date) {
- var arr = date.split('-');
- var year = arr[0]; //获取当前日期的年份
- var month = arr[1]; //获取当前日期的月份
- var day = arr[2]; //获取当前日期的日
- var days = new Date(year, month, 0);
- days = days.getDate(); //获取当前日期中的月的天数
- var year2 = year;
- var month2 = parseInt(month) + 1;
- if (month2 == 13) {
- year2 = parseInt(year2) + 1;
- month2 = 1;
- }
- var day2 = day;
- var days2 = new Date(year2, month2, 0);
- days2 = days2.getDate();
- if (day2 > days2) {
- day2 = days2;
- }
- if (month2 < 10) {
- month2 = '0' + month2;
- }
- var t2 = year2 + '-' + month2 + '-' + day2;
- return t2;
- }
- //测试
- //alert(getPreMonth("2014-01-25"));
- //alert(getNextMonth("2014-12-25"));
或者另外一种方法:
如果只是要月份 , 就不用跟日期类打交道了..直接算就好了
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function
getMonths(date1 , date2){
//用-分成数组
date1 = date1.split(
"-"
);
date2 = date2.split(
"-"
);
//获取年,月数
var
year1 = parseInt(date1[0]) ,
month1 = parseInt(date1[1]) ,
year2 = parseInt(date2[0]) ,
month2 = parseInt(date2[1]) ,
//通过年,月差计算月份差
months = (year2 - year1) * 12 + (month2-month1) + 1;
return
months;
}
|