2016-12-01 142 views
0

有没有办法在angular jsjavascript中做到这一点?获得一个不取决于PC本地日期的时间?我能想到的唯一解决方案我可以想到的是不断向后端发出请求,以便使用服务器的时间而不是客户端本地时间,但这不是一个真正的解决方案,因为它需要不断发出请求,显然很糟糕,因为这是一种暴力方法,由于请求显然有延迟,因此并不真正产生期望的结果。在angularjs中获取全球(UTC或GMT)时间,而不是当地时间

+0

ECMA-262不指定日期和时间值的来源,因此它们可以来自任何地方。但是,它们很可能来自当前的系统设置,因此'new Date()'将基于主机所说的当前日期,时间和时区偏移量。主机可以使用时间服务器,或者只是用户设置的时间服务器。我经常更改测试设置,但不一定准确。 – RobG

回答

0

调用不带参数的Date构造函数将创建一个对象,该对象包含被调用时的时间和日期,并且包含计算UTC时间所需的所有信息。然后,只需选择将输出UTC时间而不是本地时间的方法即可。例如:

<!DOCTYPE html> 
<html> 
<body> 
    <h1>Display present UTC time</h1> 
    <script> 
     var d = new Date(); 
     document.writeln(d.toUTCString()); 
    </script> 
</body> 
</html> 
0
//converts local time to UTC (Universal Time) 
function toUTC(/*Date*/date) { 
    return Date.UTC(
     date.getFullYear() 
     , date.getMonth() 
     , date.getDate() 
     , date.getHours() 
     , date.getMinutes() 
     , date.getSeconds() 
     , date.getMilliseconds() 
    ); 
} //toUTC() 

此功能将给予你的Unix纪元蜱UTC(感谢:http://blog.davidjs.com/2011/05/convert-local-time-to-utc-time-in-javascript/

如果您需要在用户友好的方式来显示这个请参考参考:http://www.w3schools.com/jsref/jsref_obj_date.asp

好运气!

+0

这将当地日期看作是UTC,这似乎不是一个好主意。对于不同偏移量的每个时区,它会在同一时刻产生不同的结果。我不认为它回答OP,这似乎是在问如何从主机获取准确的日期和时间。 – RobG

相关问题