如何使用javascript检查设备的日期是否正确? (如:如果相关日期是2016/6/16,设备日期是2016/6/15。显示提醒)。
答案 0 :(得分:0)
无法100%确定地判断设备的时钟是否正确。也就是说,您可以使用AJAX或WebSockets尝试向受信任的服务器询问日期时间戳,并将其与设备报告的内容进行比较。至少,会有一个误差幅度,主要涉及网络延迟。
无论如何,实用的东西:
<script type="text/javascript">
function myCallback(json) {
var internalNow = new Date();
var externalNow = new Date(json.dateString);
var msg = '';
if(
internalNow.getUTCFullYear() == externalNow.getUTCFullYear()
&& internalNow.getUTCMonth() == externalNow.getUTCMonth()
&& internalNow.getUTCDate() == externalNow.getUTCDate()
) {
msg = 'Date matches.';
}
else {
msg = 'Date DOES NOT match.';
}
alert(msg);
}
</script>
<script type="text/javascript" src="http://www.timeapi.org/utc/now.json?callback=myCallback"></script>
这取决于不支持HTTPS的www.timeapi.org。我不知道有类似的服务。您可能最好设置自己的时间服务。它也不检查正常的小波动,因此可能会在UTC午夜左右出现问题。