2013-06-01 89 views
0

我有一个情况,当我从服务器获取一个时间戳,并使用以下命令: -JavaScript新日期(时间戳)根据客户的时区返回日期吗?

var x = new Date(timestamp); 

是否X给时间按照客户的时区?

+1

它所时间戳?串?数字毫秒?视觉表示很容易弄清楚 - 只是'toString()'它;使用'getTimezoneOffset()';调用'UTC()'。亲自尝试一下。这对你来说太简单了,以便测试自己。 –

+0

我在使用mysql current_timestamp的同时将其存储在数据库中。 – AnuragD

回答

0

我认为它给出了根据客户端操作系统中设置的时区的时间。

+0

取决于输入'timestamp'和输出方法... – Bergi

2

首先,您必须确保您在new Date()构造函数中放置的时间戳为Unix Time并以毫秒为单位,但从服务器获取时间戳时并非总是如此。

接下来,实体Date对象将只存储此时间戳并提供一些方法来转换它并以人类可读形式显示它。只需看看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date并尝试一些自己的事情。 一件事,它在toString()方法是使用正确客户端时区绝对不会:

var x = new Date(timestamp); 
console.log(x); //Sat Jun 01 2013 18:00:12 GMT+0200 (Mitteleuropäische Sommerzeit) 
       //that was the result for my timezone 
+0

什么意思是在toString()方法中使用正确的时间戳? toString()与时区有什么关系? – AnuragD

+0

他只是表示将Date对象放入字符串上下文时使用本地时区设置(例如,通过在他的示例中使用console.log,或者可能类似于“”此日期的值为:“+ x ') - 这会触发Date对象'toString'方法隐式调用。 – CBroe

+0

@Croro谢谢,这就是我的意思。 – basilikum

相关问题