0

我有简单的脚本:

function test(time) {
    var dt = new Date( time * 1000 )
    var sec = dt.getSeconds()
    if ( sec < 10 ) sec = "0" + sec
    var min = dt.getMinutes()
    if ( min < 10 ) min = "0" + min
    var hour = dt.getHours()
    if ( hour < 10 ) hour = "0" + hour
    var time = hour + ":" + min + ":" + sec
    return time

预期的结果(test(1800) ) : 30:00,但我有result: 04:30:00。你能帮我改正这个脚本吗?我的时区 GMT+04

4

1 回答 1

3

答案很简单:

object的构造Date函数可以接受:

整数值,表示自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来的毫秒数

Date.get*函数使用本地时区返回。

如果确实需要,请Date.getUTC*改用。

function test(time) {
    var dt = new Date( time * 1000 );
    var sec = dt.getUTCSeconds();
    if ( sec < 10 ) sec = "0" + sec;
    var min = dt.getUTCMinutes();
    if ( min < 10 ) min = "0" + min;
    var hour = dt.getUTCHours();
    if ( hour < 10 ) hour = "0" + hour;
    var time = hour + ":" + min + ":" + sec;
    return time;
}
于 2012-10-17T08:17:17.553 回答