如何在JavaScript中将日期/时间转换为HST?

如何在JavaScript中将日期/时间转换为HST?,javascript,datetime,utc,Javascript,Datetime,Utc,正在尝试将日期字符串转换为HST时间,但无效 相关代码: var MINUTES_IN_MILLI = 60000, HOURS_IN_MILLI = 3600000, UTC2HST_OFFSET = 10, date1 = new Date('2013-05-31T00:00:00Z'), utc1 = date1.getTime() + (date1.getTimezoneOffset() * MINUTES_IN_MILLI), hstDate1

正在尝试将日期字符串转换为HST时间,但无效

相关代码:

var MINUTES_IN_MILLI = 60000,
    HOURS_IN_MILLI = 3600000,
    UTC2HST_OFFSET = 10,
    date1 = new Date('2013-05-31T00:00:00Z'),
    utc1 = date1.getTime() + (date1.getTimezoneOffset() * MINUTES_IN_MILLI),
    hstDate1 = utc1 - (HOURS_IN_MILLI * UTC2HST_OFFSET);

我要说的是,问题是您引入了一个已知的固定偏移量(10小时)和一个从
getTimezoneOffset()
派生的偏移量

您可能不希望:

utc1 = date1.getTime() + (date1.getTimezoneOffset() * MINUTES_IN_MILLI)
根据您提供的变量名,我假设您需要UTC时间戳,因此只需执行以下操作:

utc1 = date1.getTime()

但如果没有我在评论中要求的额外信息,我不能确定这是你真正想要的。请更新您的问题,我将根据需要修改此答案。

什么是“不起作用”的?为什么你要把所有的都放在一个带逗号的语句中?“HST”到底是什么?我可能猜你在夏威夷,但我可能猜错了。它似乎没有给我在HST(夏威夷)的时间。你需要提供更多细节。这段代码实际上没有给你任何东西,因为你只是设置了一些变量。
hstDate1
的输出将是一个数字,而不是日期。请提供完整的样品。展示你得到了什么,你期望得到什么。还有,你真的在夏威夷,只是在找当地时间吗?如果用户在其他地方,它应该显示夏威夷时间还是他们自己的时间呢?还有,你的目标浏览器是什么?旧浏览器不支持以ISO格式的日期字符串开头。