javascript实现日期按月份加减
网络编程 2021-07-04 21:48www.168986.cn编程入门
JavaScript实现日期加减计算功能代码实例,因为在js中没有类似C#中的AddDays方法,所以要想实现日期加减的话,就需要自己写函数来实现。这里分享给大家,有需要的小伙伴可以参考下
项目中需要用到,自己写了一个。javascript日期按月加减
<!DOCTYPE html> <html xmlns="http://.w3./1999/xhtml"> <head> <meta charset="utf-8"> <title></title> <script> function dateToDate(date) { var sDate = new Date(); if (typeof date == 'object' && typeof new Date().getMonth == "function" ) { sDate = date; } else if (typeof date == "string") { var arr = date.split('-') if (arr.length == 3) { sDate = new Date(arr[0] + '-' + arr[1] + '-' + arr[2]); } } return sDate; } function addMonth(date, num) { num = parseInt(num); var sDate = dateToDate(date); var sYear = sDate.getFullYear(); var sMonth = sDate.getMonth() + 1; var sDay = sDate.getDate(); var eYear = sYear; var eMonth = sMonth + num; var eDay = sDay; while (eMonth > 12) { eYear++; eMonth -= 12; } var eDate = new Date(eYear, eMonth - 1, eDay); while (eDate.getMonth() != eMonth - 1) { eDay--; eDate = new Date(eYear, eMonth - 1, eDay); } return eDate; } function calcDate() { var d = document.getElementById('date').value; var n = document.getElementById('num').value; var eDate = addMonth(d, n); document.getElementById('result').innerHTML = eDate.getFullYear() + '-' + (eDate.getMonth() + 1) + '-' + eDate.getDate(); } </script> </head> <body> <input type="date" id="date" /> <input type="number" id="num" value="1" /> <input type="button" value="计算" onclick="calcDate()" /> <div id="result"></div> </body> </html>
方法二
<script language="javascript"> Date.prototype.Format = function(fmt) { //代码作者: meizz var o = { "M+" : this.getMonth() + 1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth() + 3) / 3), //季度 "S" : this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } Date.prototype.addDays = function(d) { this.setDate(this.getDate() + d); }; Date.prototype.addWeeks = function(w) { this.addDays(w 7); }; Date.prototype.addMonths= function(m) { var d = this.getDate(); this.setMonth(this.getMonth() + m); if (this.getDate() < d) this.setDate(0); }; Date.prototype.addYears = function(y) { var m = this.getMonth(); this.setFullYear(this.getFullYear() + y); if (m < this.getMonth()) { this.setDate(0); } }; </script>
方法三
<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(灰豆宝宝.) 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()+number3); return date; break; } case "m " : { date.setMonth(date.getMonth()+number); return date; break; } case "w " : { date.setDate(date.getDate()+number7); 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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程