时区的时间与京8区一致"/>
使不同时区的时间与京8区一致
/*** 获取绝对时间* 即无论你在哪个时区,得到的时间和京8区的时间一致** @param {Date} time* @returns {years,month, day, hours, minutes, seconds}*/function getAbsTime(time) {try {var currentZoneTime = new Date(time);var currentZoneHours = currentZoneTime.getHours();var offsetZone = currentZoneTime.getTimezoneOffset() / 60;if(offsetZone > 0) {// 大于0的是西区(西区晚) 西区应该用时区绝对值加京八区 重新设置时间// 西区时间比东区时间晚 所以加时区间隔offsetZone = offsetZone + 8;currentZoneTime.setHours(currentZoneHours + offsetZone)} else {// 小于0的是东区(东区早) 东区时间直接跟京八区相加offsetZone += 8;currentZoneTime.setHours(currentZoneHours - offsetZone);}return transfromDate(currentZoneTime)} catch(e) {throw e}}function transfromDate(time) {// 假设time是时间戳,如:1514273945276var curDate = new Date(time);return curDate ;// todo}// 对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.18Date.prototype.Format = function(fmt){ //author: meizzvar 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 rs = getAbsTime(new Date());
var aa = rs.Format("yyyy-MM-dd hh:mm:ss");
.html
更多推荐
使不同时区的时间与京8区一致
发布评论