在javascript中获取UTC时区的时间戳

时间:2015-12-12 18:57:27

标签: javascript time

我正在搜索一个函数,该函数将为我所有访问者提供几乎相同的输出,这些访问者位于不同的国家/地区

var d1 = new Date();
var d2 = new Date( d1.getUTCFullYear(), d1.getUTCMonth(), d1.getUTCDate(), d1.getUTCHours(), d1.getUTCMinutes(), d1.getUTCSeconds() );
Math.floor(d2.getTime()/ 1000);

我是从stackoverflow发现的,但我发现它不起作用,它不会给我位于法国的vps提供相同的输出,而http://www.unixtimestamp.com/

的结果完全不同
var options = {
    timeZone: 'UTC',
    year: 'numeric', month: 'numeric', day: 'numeric',
    hour: 'numeric', minute: 'numeric', second: 'numeric'
},
formatter = new Intl.DateTimeFormat([], options)
formatter.format(new Date())

这会给我正确的结果,但它不是时间戳。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

您需要Date.UTC



var d1 = new Date();
var d2 = Date.UTC(d1.getUTCFullYear(), d1.getUTCMonth(), d1.getUTCDate(), d1.getUTCHours(), d1.getUTCMinutes(), d1.getUTCSeconds());
var timestamp = Math.floor(d2 / 1000);
document.write(timestamp);




答案 1 :(得分:0)

抱歉,我的错误是javascript已经使用utc作为默认值,

您可以使用此代码snipet获取utc时间戳

parseInt(new Date().getTime()/1000);