JS格式化时间的几种方法总结

JS格式化时间的几种方法总结

方法一

方法

//格式化时间 function format(dat){ //获取年月日,时间 var year = dat.getFullYear(); var mon = (dat.getMonth()+1) < 10 ? "0"+(dat.getMonth()+1) : dat.getMonth()+1; var data = dat.getDate() < 10 ? "0"+(dat.getDate()) : dat.getDate(); var hour = dat.getHours() < 10 ? "0"+(dat.getHours()) : dat.getHours(); var min = dat.getMinutes() < 10 ? "0"+(dat.getMinutes()) : dat.getMinutes(); var seon = dat.getSeconds() < 10 ? "0"+(dat.getSeconds()) : dat.getSeconds(); var newDate = year +"-"+ mon +"-"+ data +" "+ hour +":"+ min +":"+ seon; return newDate; }

调用

//获取时间 var dat = new Date(); //格式化时间 var newDate = format(dat); 方法二 /** * 格式化日期 * @param {string | number | Date} value 指定日期 * @param {string} format 格式化的规则 * @example * ```js * formatDate(); * formatDate(1603264465956); * formatDate(1603264465956, "h:m:s"); * formatDate(1603264465956, "Y年M月D日"); * ``` */ function formatDate(value = Date.now(), format = "Y-M-D h:m:s") { const formatNumber = n => `0${n}`.slice(-2); const date = new Date(value); const formatList = ["Y", "M", "D", "h", "m", "s"]; const resultList = []; resultList.push(date.getFullYear().toString()); resultList.push(formatNumber(date.getMonth() + 1)); resultList.push(formatNumber(date.getDate())); resultList.push(formatNumber(date.getHours())); resultList.push(formatNumber(date.getMinutes())); resultList.push(formatNumber(date.getSeconds())); for (let i = 0; i < resultList.length; i++) { format = format.replace(formatList[i], resultList[i]); } return format; } 方法三

获得当前时间,并格式化

function getNowFormatDate() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var d = date.getDate(); var hour = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds(); if(month<10){ month = "0" + month; } if(d<10){ d = "0" + d; } if(hour<10){ hour = "0" + hour; } if(minute<10){ minute = "0" + hour; } if(second<10){ second = "0" + second; } return year + "-" + month + "-" + d + " " +hour + ":" + minute + ":" + second; }

注意这里的月要加1。

方法四

方法

// 对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) { //author: 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; }

调用

$(document).ready(function(){ //给时间控件加上样式 $("#tb").find("input[name='cruMon_begin']").attr("class","Wdate").click(function(){WdatePicker({dateFmt:'yyyy-MM'});}); $("#tb").find("input[name='cruMon_end']").attr("class","Wdate").click(function(){WdatePicker({dateFmt:'yyyy-MM'});}); $("#tb").find("input[name='cruMon_begin']").attr("value",new Date().Format("yyyy-MM")); $("#tb").find("input[name='cruMon_end']").attr("value",new Date().Format("yyyy-MM")); }); 方法五 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; }

说明:获取到时间var time = new Date().format("yyyy-MM-dd hh:mm:ss");

到此这篇关于JS格式化时间的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持易知道(ezd.cc)。

推荐阅读