js日期操作函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js日期操作函数相关的知识,希望对你有一定的参考价值。
1 /** 2 * 获取当前时间的本地格式字符串 3 * @returns {String} 4 */ 5 Date.prototype.getLocaleTimeStr = function(){ 6 return this.toLocaleTimeString(); 7 }; 8 9 /** 10 * 获取当前时间的本地格式字符串,只保留数字部分 11 * @returns {String} 12 */ 13 Date.prototype.getPureLocaleTimeStr = function(){ 14 return this.toLocaleTimeString().replace(/^\D*/, ‘‘); 15 }; 16 17 /** 18 * 获取间隔几秒的时间 19 * @param gap 数字 20 * @returns {Date} 21 */ 22 Date.prototype.getGapsSecondLocaleTimeStr = function(gap){ 23 //return new Date(this - gap * 1000); 24 } 25 26 /** 27 * 获取间隔几分钟的时间 28 * @param gap 数字 29 * @returns {Date} 30 */ 31 Date.prototype.getGapsMinuteLocaleTimeStr = function(gap){ 32 //return new Date(this - gap * 60 * 1000); 33 }; 34 /** 35 * 获取七天前的日期 36 * @returns{String} 37 */ 38 Date.prototype.getPreSevenDate = function(){ 39 this.setDate(this.getDate()-7); 40 return this.Format("yyyy-MM-dd hh:mm:ss"); 41 }; 42 /** 43 * 获取某一天的日期 44 * @param {number} day 多少天前/后的日期 45 * @returns {String} 46 */ 47 Date.prototype.getSomeDayDate = function(day){ 48 this.setDate(this.getDate() + day); 49 return this.Format("yyyy-MM-dd hh:mm:ss"); 50 }; 51 /** 52 * 获取当前时间(调用方法:new Date().Format("yyyy-MM-dd hh:mm:ss")) 53 * @param fmt 54 * @returns {String}/2016-01-01 00:00:00/ 55 */ 56 Date.prototype.Format = function(fmt) { 57 var o = { 58 "M+" : this.getMonth() + 1, 59 "d+" : this.getDate(), 60 "h+" : this.getHours(), 61 "m+" : this.getMinutes(), 62 "s+" : this.getSeconds(), 63 "q+" : Math.floor((this.getMonth() + 3) / 3), 64 "S" : this.getMilliseconds() 65 }; 66 if (/(y+)/.test(fmt)) 67 fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "") 68 .substr(4 - RegExp.$1.length)); 69 for ( var k in o) 70 if (new RegExp("(" + k + ")").test(fmt)) 71 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) 72 : (("00" + o[k]).substr(("" + o[k]).length))); 73 return fmt; 74 }; 75 76 /** 77 * 日期操作相关方法 78 */ 79 var myDateUtil = { 80 /** 81 * 设置日期(0为今天,-1为昨天,以此类推) 82 * @param AddDayCount 83 * @returns {String}/2016-01-01/ 84 */ 85 GetDateStr:function(AddDayCount){ 86 var dd = new Date(); 87 dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 88 var y = dd.getFullYear(); 89 var m = dd.getMonth()+1;//获取当前月份的日期 90 if(m<10){ 91 m = ‘0‘+m; 92 } 93 var d = dd.getDate(); 94 if(d<10){ 95 d = ‘0‘+d; 96 } 97 98 return y+"-"+m+"-"+d; 99 }, 100 /** 101 * 根据一个日期查找另一个日期 102 * @param {} theDay:2016-04-20 103 * @param {} AddDayCount:(-1为前一天,1为后一天,0不变,以此类推) 104 * @return {String} 105 */ 106 findDayByDay:function(theDay,AddDayCount){ 107 var formatDay = new Date(theDay); 108 formatDay.setDate(formatDay.getDate()+AddDayCount);//获取AddDayCount天后的日期 109 var y = formatDay.getFullYear(); 110 var m = formatDay.getMonth()+1;//获取当前月份的日期 111 if(m<10){ 112 m = ‘0‘+m; 113 } 114 var d = formatDay.getDate(); 115 if(d<10){ 116 d = ‘0‘+d; 117 } 118 119 return y+"-"+m+"-"+d; 120 }, 121 /** 122 * 返回距 1970 年 1 月 1 日之间的毫秒数(可用于比较时间大小) 123 * @param {} Date 格式为:yyyy-mm-dd 124 */ 125 formatTimesFromDate:function(Date){ 126 var arr = Date.split("-"); 127 var newDate = new Date(arr[0],arr[1],arr[2]); 128 var resultDate = newDate.getTime(); 129 return resultDate; 130 } 131 }
以上是关于js日期操作函数的主要内容,如果未能解决你的问题,请参考以下文章
js代码片段: utils/lcoalStorage/cookie