最近在国际化,须要计算不一样时区的时间问题。 java
先介绍一下js如何计算时间国际化
主要根据时区的偏移量,而后在将时间戳作对应的移动。 prototype
// 太平洋时间的时区信息 var targetTimeZone = 8 * 60; // 目标的时区偏移量 Date.prototype.timezoneDate = function(targetTimeZone) { var localDate = new Date(); var localTimeZone = -480; // localDate.getTimezoneOffset() var targetDate = new Date(); targetDate.setTime(localDate.getTime() + (targetTimeZone - localTimeZone) * 60 * 1000); return targetDate; } console.log(new Date().timezoneDate(targetTimeZone).toGMTString());
在java程序中,存储的时间戳是格林威治时间,即标准时间。当咱们须要转换出显示的时间的时候,咱们能够利用DateFormat来进行调整。 code
DateFormat df = new SimpleDateFormat(); df.setTimeZone(TimeZone.getTimeZone("GMT-8")); String lbl = df.format(new Date()); System.out.println(lbl);