这已经让我扭转了好几天了。
该应用程序使用JavaScript。
我希望在另一个时区的一个时区显示时间。
我会为我想要显示时间和日期的区域存储GMT的时区偏移(夏令时将考虑偏移)。
我打算将时间转换为Epoch,然后加上或减去偏移量,然后转换为DD MM YYYY HH MM SS计算日期。
我已经到了无法再看到树木的木头了。关于如何实现这一点的任何想法。
答案 0 :(得分:2)
由于日期基于UTC时间值,您可以调整所需的偏移量并读取UTC值,例如
/* @param {number} offset - minutes to subtract from UTC to get time in timezone
**
*/
function getTimeForOffset(offset) {
function z(n){return (n<10?'0':'')+n}
var now = new Date();
now.setUTCMinutes(now.getUTCMinutes() - offset);
return z(now.getUTCHours()) + ':' + z(now.getUTCMinutes()) + ':' + z(now.getUTCSeconds());
}
// Time for AEST (UTC+10)
console.log(getTimeForOffset(-600));
// Time for CEST (UTC+02)
console.log(getTimeForOffset(-120));
请注意,偏移量与javascript Date时区偏移量的符号相同,这与添加到UTC以获取当地时间的典型值相反。