我知道如何将新日期(UTCStrings)用于本地时区。
但现在,问题是如何将UTCString转换为其他时区(非本地)。
e.g。
UTCString是'1338480000000'。 我当前的时区是UTC + 4。 我想将日期(UTCString)转换为UTC + 9。
我该怎么做?
感谢您的帮助!
更新
感谢BalaKrishnan的帮助。
我遵循BalaKrishnan的要点制作了一个简单的功能。希望这会对其他人有所帮助。
function utcToOtherTimezone(utcString, timezone){
var isoDt = new Date(utcString), // do this to convert it to iso time:
dt = isoDt.addMinutes( isoDt.getTimezoneOffset() + (timezone * 60) );
return dt.toLocaleDateString() + ' ' + dt.toLocaleTimeString();
}
$('#dtime').html(utcToOtherTimezone(1341282169000, +8));
不要忘记添加datejs
在线测试示例http://jsfiddle.net/ysjia/FWbZ8/。享受吧。
答案 0 :(得分:1)
首先从UTCString创建一个Date对象,如下所示: var utcString = 1338480000000; //然而,这将是当地时间,而不是等时间。 var isoDt = new Date(utcString); //执行此操作将其转换为iso时间: isoDt.addMinutes(isoDt.getTimezoneOffset() ); // addMinutes是来自Date.js的API。 现在,isoDt对象的日期值与UTC日期相同,您可以向其添加必要的偏移量+9或其他。
请参阅此jquery faq讨论此问题: http://jqfaq.com/how-to-parse-a-date-string-disregarding-time-zones/