之前通过这种方式使用JavaScript来获取时区id。
var tz = jstz.determine(); // Determines the time zone of the browser client
var format = 'YYYY/MM/DD HH:mm:ss ZZ';
alert(moment.tz('Europe/London').format(format));
OR
alert(moment.tz(tz.name()).format(format));
我使用两个库来获取客户端浏览器的时区ID,另一个获取日期&时间基于时区id。这两个库是
<script type="text/javascript" src="Scripts/jstz.min.js"></script>
<script src="Scripts/moment.min.js" type="text/javascript"></script>
<script src="Scripts/moment-timezone-with-data-2010-2020.min.js" type="text/javascript">
但问题是moment.js根据用户的pc日期时间设置给出时间。因此,如果用户的PC日期时间错误,则moment.js将返回错误的日期时间。所以我一直在寻找一种如何获得约会的方式在ntp协议之后的时区id的时间。但是我得到了这个url
的解决方案// Get London time, and format it:
getTime('Europe/London', function(time){
var formatted = time.getHours() + ':'
+ time.getMinutes() + ':'
+ time.getSeconds();
alert( 'The time in London is ' + formatted );
});
$.getTime = function(zone, success) {
var url = 'http://json-time.appspot.com/time.json?tz='
+ zone + '&callback=?';
$.getJSON(url, function(o){
success && success(new Date(o.datetime), o);
});
};
我理解上面的代码,它将调用time.json并传递时区ID和响应将根据时区ID返回新的日期和时间。
我有一个问题
1) please tell me someone that above js routine will return right date and time based on timezone id?
2)延迟是怎么回事。假设我打电话给time.json并在10秒后得到回复,可能是因为互联网速度缓慢或任何其他原因。在这种情况下,我怎么能得到正确的日期和时间。
因此,如果几秒钟或几分钟后回复,请指导我需要做什么才能始终获得正确的约会时间。 also discuss what other best way out there to get NTP date & time using javascript.
寻求指导。
他的主要问题是延迟...如果我在几秒钟或几分钟后得到回复,那我怎么能重新计算时间以使其准确延迟或缓慢响应问题.....请指导我有人即可。感谢