Javascript Node.JS-将UNIX时间戳转换为时区偏移

Javascript Node.JS-将UNIX时间戳转换为时区偏移,javascript,node.js,date,time,timestamp,Javascript,Node.js,Date,Time,Timestamp,我有一个函数,可以将时间戳转换为时间: function convertUnixTimeToTime(UNIX_timestamp) { var a = new Date(UNIX_timestamp); var fin_hour = String(a.getHours()) if (fin_hour.length == 1) { fin_hour = '0' + fin_hour; } var fin_minutes = String(a

我有一个函数,可以将时间戳转换为时间:

function convertUnixTimeToTime(UNIX_timestamp) {
    var a = new Date(UNIX_timestamp);
    var fin_hour = String(a.getHours())
    if (fin_hour.length == 1) {
        fin_hour = '0' + fin_hour;
    }
    var fin_minutes = String(a.getMinutes())
    if (fin_minutes.length == 1) {
        fin_minutes = '0' + fin_minutes;
    }
    var time = fin_hour + ':' + fin_minutes;
    return time;
}
我正在本地测试我的应用程序,我的计算机的时间档为+4。 当我尝试从节点应用获取当前时间时:

console.log('Current time is: ' + convertUnixTimeToTime(new Date().getTime()));

我得到我的当前本地时间。正如我所想,Date().getTime()应该以毫秒为单位返回绝对UNIX时间。我的函数convertunixtimetome()没有指定任何时间偏移,这就是为什么我应该在没有任何偏移的情况下获得空闲时间。为什么我要换班+4次?谢谢。

因为和根据定义返回本地时间?

因为和根据定义返回本地时间?

函数
getHours
getMinutes
总是返回本地时间。
new Date(new Date().getTime())
比其他任何东西都更容易混淆-它与
new Date()
相同-它不会改变时区的任何内容


要获取所需内容,请使用
getUTCHours
getUTCMinutes
getHours
getMinutes
函数始终返回本地时间。
new Date(new Date().getTime())
比其他任何东西都更容易混淆-它与
new Date()
相同-它不会改变时区的任何内容


要获得您想要的内容,请使用
getUTCHours
getUTCMinutes

尝试
.getUTCHours()
getUTCMinutes()
而不仅仅是
getHours()
getMinutes()
。JavaScript的工作时间是毫秒,而不是秒。所以应该是:
var a=新日期(UNIX\u时间戳*1000)尝试
.getUTCHours()
getUTCMinutes()
而不仅仅是
getHours()
getMinutes()
。JavaScript的工作时间是毫秒,而不是秒。所以应该是:
var a=新日期(UNIX\u时间戳*1000)