额。。做个归纳吧,尽管成熟的工具类很多。。。。包含一些常用的对时间操作的方法,后续用到了在补齐,暂时就这样吧GG
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
//时间戳转换日期 (yyyy-MM-dd HH:mm:ss) function formatDateTime(timeValue) { var date = new Date(timeValue); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h = h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); var second = date.getSeconds(); minute = minute < 10 ? ('0' + minute) : minute; second = second < 10 ? ('0' + second) : second; return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second; }; //时间戳转换日期 (yyyy-MM-dd HH:mm) function formatDateTime2(timeValue) { var date = new Date(timeValue); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h = h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); var second = date.getSeconds(); minute = minute < 10 ? ('0' + minute) : minute; second = second < 10 ? ('0' + second) : second; return y + '-' + m + '-' + d + ' ' + h + ':' + minute ; }; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
//60000 1分钟 //3600000 1小时 //86400000 24小时 //对传入时间进行时间转换 function timeChange(timeValue) { //timeValue = new Date(timeValue).getTime(); if(!timeValue){ return ''; } timeValue = new Date((timeValue).replace(/-/g, "/")).getTime(); var timeNew = Date.parse(new Date()); //当前时间 \ var timeDiffer = timeNew - timeValue; //与当前时间误差 var returnTime = ''; if(timeDiffer < 0){ var returnTime = formatDateTime(timeValue).substr(0, 16); }else if (timeDiffer <= 300000) { //五分钟内 var returnTime = '刚刚'; } else if (timeDiffer > 300000 && timeDiffer < 3600000) { //1小时内 var returnTime = Math.floor(timeDiffer / 60000) + '分钟前'; } else if (timeDiffer >= 3600000 && timeDiffer < 86400000 && isYestday(timeValue) === false) { //今日 var returnTime = '今天 ' + formatDateTime(timeValue).substr(11, 5); } else if (timeDiffer > 3600000 && isYestday(timeValue) === true) { //昨天 var returnTime = '昨天 ' + formatDateTime(timeValue).substr(11, 5); } else if (timeDiffer > 86400000 && isYestday(timeValue) === false && isYear(timeValue) === true) { //今年 var returnTime = formatDateTime(timeValue).substr(5, 11); } else if (timeDiffer > 86400000 && isYestday(timeValue) === false && isYear(timeValue) === false) { //不属于今年 var returnTime = formatDateTime(timeValue).substr(0, 10); } return returnTime; } //判断传入日期是否为昨天 function isYestday(timeValue) { var date = (new Date()); //当前时间 var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime(); //今天凌晨 var yestday = new Date(today - 24 * 3600 * 1000).getTime(); return timeValue < today && yestday <= timeValue; }; //判断传入日期是否属于今年 function isYear (timeValue) { var takeNewYear = formatDateTime(new Date()).substr(0,4); //当前时间的年份 var takeTimeValue = formatDateTime(timeValue).substr(0,4); //传入时间的年份 return takeTimeValue == takeNewYear; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
//月日补0 输入格式2020-1-20 function format(date) { var strs= date.split("-"); //字符分割 var n=strs[0]; var y=strs[1]; //分割后的字符输出 var r=strs[2]; if (y< 10) { y = "0" + y; } if (r < 10) { r= "0" + r; } return n + "-" + y + "-" + r; } //月日去0 输入格式2020-01-20 function formatDeate(date) { var strs= date.split("-"); //字符分割 var n=strs[0]; var y=strs[1]; //分割后的字符输出 var r=strs[2]; if (y< 10) { y =y.replace(/^0/, ''); } if (r < 10) { r = r.replace(/^0/, ''); } return n + "-" + y + "-" + r; } |
获取毫秒数:转Date类型
1 2 3 4 |
输入格式支持 2017/03/19 2020-03-19 2020-3-19 2020/03/19 var time = Date.parse(startDate); var startTime1 = new Date(Date.parse(startDate)); var startTime = startTime1.getTime(); |
yyyy-MM-dd格式转yyyy/MM/dd
1 |
var workDateStr = 当前日期.replace(/-/g,"/"); |
获取当前时间,格式YYYY-MM-DD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; return currentdate; } |
获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds(); return currentdate; } |
时间格式化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function (fmt) { 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; } 调用方式: 输入格式支持 2020/03/19 2020-03-19 2020-3-19 2020/03/19 var haorooms1 = new Date().Format("yyyy-MM-dd"); var haorooms2= new Date().Format("yyyy-MM-dd hh:mm:ss"); var time = Date.parse("2020-8-12"); var startTime1 = new Date(time); alert(haorooms1 ); alert(haorooms2); |