js 日期格式化及日期增减
Posted 小水皮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 日期格式化及日期增减相关的知识,希望对你有一定的参考价值。
//Demo:new Date().format("yyyy-MM-dd hh:mm:ss.SSS") Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //day "h+": this.getHours(), //hour "m+": this.getMinutes(), //minute "s+": this.getSeconds(), //second "q+": Math.floor((this.getMonth() + 3) / 3), //quarter "S": this.getMilliseconds() //millisecond } if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); return format; } Date.prototype.addYears = function (num) { num = parseInt(num); var sYear = this.getFullYear(); var sMonth = this.getMonth(); var sDay = this.getDate(); var eYear = sYear + num; var eMonth = sMonth; var eDay = sDay; var eDate = new Date(eYear, eMonth, eDay); while (eDate.getMonth() != eMonth) { eDay--; eDate = new Date(eYear, eMonth, eDay); } var times = eDate.getTime() - new Date(sYear, sMonth, sDay).getTime(); return new Date(new Date().getTime() + times); } //Demo:new Date().addMonths(-1) Date.prototype.addMonths = function (num) { num = parseInt(num); var sYear = this.getFullYear(); var sMonth = this.getMonth() + 1; var sDay = this.getDate(); var eYear = sYear; var eMonth = sMonth + num; var eDay = sDay; while (eMonth > 12) { eYear++; eMonth -= 12; } while (eMonth <= 0) { eYear--; eMonth += 12; } var eDate = new Date(eYear, eMonth - 1, eDay); while (eDate.getMonth() != eMonth - 1) { eDay--; eDate = new Date(eYear, eMonth - 1, eDay); } var times = eDate.getTime() - new Date(sYear, sMonth - 1, sDay).getTime(); return new Date(new Date().getTime() + times); } Date.prototype.addDates = function (num) { return this.addHours(num * 24); } Date.prototype.addHours = function (num) { return this.addMinutes(num * 60); } Date.prototype.addMinutes = function (num) { return this.addSeconds(num * 60); } Date.prototype.addSeconds = function (num) { num = parseInt(num); return new Date(new Date().getTime() + num * 1000); }
以上是关于js 日期格式化及日期增减的主要内容,如果未能解决你的问题,请参考以下文章
如何从我的 DatePicker 片段中传输格式化的日期字符串?