js将UTC时间毫秒值转换为本地时间.

JavaScript040

js将UTC时间毫秒值转换为本地时间.,第1张

var now = new Date()

var ts = now.getTime()

ts -= new Date().getTimezoneOffset() * 60 * 1000

var utc = new Date(ts)

如果你的数字是16位整数,或许需要整除 1000,你对比普通的13位数字是否有对应换算关系。

<script>

var d = new Date()

var year = d.getFullYear()

var month = d.getMonth() + 1

var date = d.getDate()

var hours = d.getHours()

var min = d.getMinutes()

var seconds = d.getSeconds()

var localDate = year+"-"+month+"-"+date + " " + hours + ":" + min + ":" + seconds

console.log(localDate) //结果 2018-5-23 12:53:32

</script>

/**时间格式化

*把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

}