A-A+
javascript中计算日期加减程序代码
本文章总结了关于javascript中计算日期加减程序代码,有使用到日期加减代码的朋友可参考本文章来操作。
实例,下面我总结了一下,写了一个js方法,主要解决,某个日期+多少月多少天=某个日期的问题,至于,某个日期-某个日期=多少天,代码如下:
- //解决IE下得到时间为NaN的情况
- function parseISO8601(dateStringInRange) {
- var isoExp = /^s*(d{4})-(dd)-(dd)s*$/,
- date = new Date(NaN), month,
- parts = isoExp.exec(dateStringInRange);
- if(parts) {
- month = +parts[2];
- date.setFullYear(parts[1], month - 1, parts[3]);
- if(month != date.getMonth() + 1) {
- date.setTime(NaN);
- }
- }
- return date;
- }
- var change_date = function(dates,months,days) {
- var datestr = parseISO8601(dates);
- // 参数表示在当前日期下要增加的天数
- var now = new Date(datestr);
- if(months != 0){
- now.setMonth(now.getMonth() + months);
- }
- now.setDate((now.getDate()-1) + 1 * days);
- var year = now.getFullYear();
- if(months != 0){
- var month = now.getMonth()+1;
- }else{
- var month = now.getMonth()+1;
- }
- var day = now.getDate();
- if (month < 10) {
- month = '0' + month;
- }
- if (day < 10) {
- day = '0' + day;
- }
- return year + '-' + month + '-' + day;
- };
- var n = change_date("2012-12-01",12,32);
- alert(n);
javascript中日期的加减运算.如今天+80天.
例子,代码如下:
- <script>
- function DateAdd(interval,number,date)
- {
- /*
- *--------------- DateAdd(interval,number,date) -----------------
- * DateAdd(interval,number,date)
- * 功能:实现VBScript的DateAdd功能.
- * 参数:interval,字符串表达式,表示要添加的时间间隔.
- * 参数:number,数值表达式,表示要添加的时间间隔的个数.
- * 参数:date,时间对象.
- * 返回:新的时间对象.
- * var now = new Date();
- * var newDate = DateAdd( "d ",5,now);
- * author:wanghr100(灰豆宝宝.net)
- * update:2004-5-28 11:46
- *--------------- DateAdd(interval,number,date) -----------------
- */
- switch(interval)
- {
- case "y " : {
- date.setFullYear(date.getFullYear()+number);
- return date;
- break;
- }
- case "q " : {
- date.setMonth(date.getMonth()+number*3);
- return date;
- break;
- }
- case "m " : {
- date.setMonth(date.getMonth()+number);
- return date;
- break;
- }
- case "w " : {
- date.setDate(date.getDate()+number*7);
- return date;
- break;
- }
- case "d " : {
- date.setDate(date.getDate()+number);
- return date;
- break;
- }
- case "h " : {
- date.setHours(date.getHours()+number);
- return date;
- break;
- }
- case "m " : {
- date.setMinutes(date.getMinutes()+number);
- return date;
- break;
- }
- case "s " : {
- date.setSeconds(date.getSeconds()+number);
- return date;
- break;
- }
- default : {
- date.setDate(d.getDate()+number);
- return date;
- break;
- }
- }
- }
- var now = new Date();
- //加五天.
- var newDate = DateAdd( "d ",5,now);
- alert(newDate.toLocaleDateString())
- //加两个月.
- newDate = DateAdd( "m ",2,now);
- alert(newDate.toLocaleDateString())
- //加一年
- newDate = DateAdd( "y ",1,now);
- alert(newDate.toLocaleDateString())
- </script>