js将时间戳转为日期格式
推荐一个JavaScript常用函数库 jutils
其中的formatDate(javascript时间戳转换)函数支持自定义格式,可以显示年,月,周,日,时,分,秒多种形式的日期和时间。
例:
输出格式为 =>年、月、日、时、分、秒
var date = jutils.formatDate(new Date(1533686888*1000),"YYYY-MM-DD HH:ii:ss")console.log(date)
// 2019-07-09 19:44:01
更多自定义返回格式可以参照:
一行js代码实现时间戳转时间格式
下面是相关源码的截图
js将时间戳转为日期格式
自定义日期格式化函数
格式化函数
// 对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
}
使用示例:
var time1 = new Date().format("yyyy-MM-dd HH:mm:ss")var time2 = new Date().format("yyyy-MM-dd")
/**时间格式化*把Date 用Map保存后的“Aug 30, 2015 10:57:33 AM”字符串格式的时间转为“yyyy-MM-dd HH:mm:ss”,“yyyy-MM-dd HH:mm”,“yyyy-MM-dd”的格式字符串
*/
function timeFormat(timeStr,formatStr){
var arr = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
var arrtime = timeStr.split(" ")
var str = arrtime[2]//年
str += "-"
for(var i=0i<arr.lengthi++){//月
if(timeStr.indexOf(arr[i])!=-1){
str += (i+1)>=10?(i+1):"0"+(i+1)
}
}
str += "-"
str += arrtime[1].substring(0,2)//日
if(formatStr == "yyyy-MM-dd"){
return str
}
str += " "
var hh = arrtime[3].substring(0,2)//小时
if(formatStr == "yyyy-MM-dd HH:mm"){//小时分钟
if(timeStr.indexOf("PM")!=-1){
str += (parseInt(hh)+12)
str += arrtime[3].substring(2,5)
}else{
str += arrtime[3].substring(0,5)
}
}
if(formatStr == "yyyy-MM-dd HH:mm:ss"){//小时分钟秒
if(timeStr.indexOf("PM")!=-1){
str += (parseInt(hh)+12)
str += arrtime[3].substring(2,9)
}else{
str += arrtime[3].substring(0,9)
}
}
return str
}