我开始的思路是通过ruby的网络抓包能力,直接从时间同步网页抓取时间。但实际操作中发现很多时间网页都用的是js脚本计算的时间,直接抓成html文件,本地打开后会发现时间显示处都是空白。
比如网上朋友帮我分析的值:
那串数字是utc时间格式,是从1970年到现在的毫秒数,用ruby可以转换为人可读的格式:
Time.at(1402230499914.5/1000) => 2014-06-08 20:28:19 +0800
还有朋友提供了另一种思路,就是使用标准互联网时间同步接口,比如:
http://time.nist.gov:13
可以通过telnet 方式连接,即可以通过编程方式取其返回值:
elnet time.nist.gov 13 Trying 24.56.178.140... Connected to ntp1.glb.nist.gov. Escape character is '^]'. 56816 14-06-08 13:34:37 50 0 0 840.8 UTC(NIST) * Connection closed by foreign host.
实际中这种方法偶尔会取不到值,可以用多个时间接口和反复获取的方式解决。
感谢大家哦