`

获取网络时间(国家标准时间)

    博客分类:
  • web
 
阅读更多

 

原文链接:http://blog.csdn.net/catoop/article/details/50076879

我们在开发中,很多应用需要读取网络时间来作为一个时间的标准,对业务逻辑进行相对可靠的校验。 
下面是Java中(Android一样)读取网络时间的代码:

package com.test;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 * 读取网络时间
 *
 * @author SHANHY(365384722@QQ.COM)
 * @date   2015年11月27日
 */
public class GetNetworkTime {

    public static void main(String[] args) {
        String webUrl1 = "http://www.bjtime.cn";//bjTime
        String webUrl2 = "http://www.baidu.com";//百度
        String webUrl3 = "http://www.taobao.com";//淘宝
        String webUrl4 = "http://www.ntsc.ac.cn";//中国科学院国家授时中心
        String webUrl5 = "http://www.360.cn";//360
        String webUrl6 = "http://www.beijing-time.org";//beijing-time
        System.out.println(getWebsiteDatetime(webUrl1) + " [bjtime]");
        System.out.println(getWebsiteDatetime(webUrl2) + " [百度]");
        System.out.println(getWebsiteDatetime(webUrl3) + " [淘宝]");
        System.out.println(getWebsiteDatetime(webUrl4) + " [中国科学院国家授时中心]");
        System.out.println(getWebsiteDatetime(webUrl5) + " [360安全卫士]");
        System.out.println(getWebsiteDatetime(webUrl6) + " [beijing-time]");
    }

    /**
     * 获取指定网站的日期时间
     * 
     * @param webUrl
     * @return
     * @author SHANHY
     * @date   2015年11月27日
     */
    private static String getWebsiteDatetime(String webUrl){
        try {
            URL url = new URL(webUrl);// 取得资源对象
            URLConnection uc = url.openConnection();// 生成连接对象
            uc.connect();// 发出连接
            long ld = uc.getDate();// 读取网站日期时间
            Date date = new Date(ld);// 转换为标准时间对象
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);// 输出北京时间
            return sdf.format(date);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59

网络上很多帖子差不多都说使用 www.bjtime.cn 来获取网络时间,但是通过我的实际测试(测试时间2015-11-27 23:50),此时这个 bjtime 的时间并不准,与北京时间竟然悬殊了十几秒,显然降低了可靠性。 
大家看下我测试输出的结果便一目了然,如下:

2015-11-27 23:51:37 [bjtime]
2015-11-27 23:50:22 [百度]
2015-11-27 23:50:22 [淘宝]
2015-11-27 23:50:22 [中国科学院国家授时中心]
2015-11-27 23:50:22 [360安全卫士]
2015-11-27 23:50:22 [beijing-time]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

显而易见,几个知名互联网公司的时间是一致的,所以获取网络时间的时候,建议大家选用相对比较靠谱的网站,上面测试的几个已经足够备选了(百度、淘宝、国家授时中心)。

另外值得一提的是,该方法获取时间,只需要建立连接就可以了,不需要请求(request)与响应(response),所以比单独写接口效率要高。

 
 
分享到:
评论

相关推荐

    vc 获取网络时间 获取北京时间

    在VC++ MFC环境下,获取网络时间,尤其是北京时间,是编程实践中常见的需求,这主要涉及到网络编程和时间处理。下面将详细讲解如何实现这一功能。 首先,我们需要理解网络时间(NTP,Network Time Protocol)是一种...

    java 获取标准北京时间

    java 获取标准北京时间 标准北京时间 北京时间 网络时间 internet时间

    易语言取网络时间,标准时间,北京时间,国家授时中心时间

    在易语言中,我们可以利用特定的编程技术来实现获取网络时间、标准时间、北京时间以及国家授时中心时间的功能。易语言是一种面向对象、简单易学的中文编程语言,它为开发者提供了丰富的函数库,使得时间获取变得简单...

    通过GPRS获得准确的网络时间

    在本案例中,通过GPRS获取网络时间的具体实现方式是将GPRS设备配置进入**UDP(User Datagram Protocol)**模式。UDP是一种无连接的协议,用于主机间的快速数据传输,特别适合于那些对数据传输速度有较高要求而对可靠...

    从网络上获取时间更新到本地

    在Windows操作系统中,获取网络时间并同步到本地时间是一项基础但重要的任务,尤其对于系统时钟准确性有较高要求的应用场景。C#编程语言提供了一种简单的方法来实现这个功能,利用.NET Framework中的System.Net和...

    联网校时 获取网络时间

    因此,通过获取网络时间并进行同步,可以有效解决这些问题。 网络时间同步通常基于Internet时间协议(NTP,Network Time Protocol)。NTP是一种广泛使用的协议,它允许计算机通过互联网或其他网络与时间服务器进行...

    获取北京时间.rar

    1. **网络服务**:NTP(Network Time Protocol)是最常见的时间同步协议,通过连接到NTP服务器,如中国的国家授时中心服务器,可以获取精确的北京时间。用户可以使用NTP客户端软件,或者在编程时集成NTP库来实现这一...

    自动获取国家授时中心服务器时间,并修改系统时间。自动同步时间!

    ”表明这是一个程序,其功能是连接到国家授时中心的服务器,获取最准确的时间信息,并将用户的计算机系统时间同步到这个标准时间。这样的程序对于需要高精度时间同步的场景尤其重要,比如金融交易、科学研究和网络...

    C#与网络时间同步的时间处理函数代码

    #### 获取网络时间 在C#中,获取网络时间主要依赖于HTTP请求,从特定的时间服务器获取当前时间信息。本文中的示例代码通过访问国家授时中心(http://www.time.ac.cn/stime.asp)来获取标准时间。这一过程主要包括...

    网络较时软件 自动调整电脑时间为北京时间

    准确的北京时间是指中国国家授时中心提供的标准时间,该时间基于原子钟,具有极高的精度。电脑较时软件能帮助用户确保其设备显示的是与北京时间同步的准确时间,这对于在中国使用电脑的用户来说尤其重要,因为许多...

    网络时间校验器[自用 无毒]

    标题中的“网络时间校验器”是指一种用于检查和调整计算机本地时间与互联网标准时间同步的工具。在日常使用电脑时,保持系统时间的准确性至关重要,尤其对于涉及时间敏感的操作,如在线交易、文件同步、日志记录等。...

    获取国内外NTP授时中心标准时间的函数源代码

    在IT领域,尤其是在系统同步和高精度时间管理中,NTP(Network Time Protocol,网络时间协议)是一个至关重要的协议。NTP允许计算机通过互联网或其他网络与全球范围内的NTP授时中心进行通信,以获取并校准精确的时间...

    北京标准时间校准 北京标准时间校准

    1. **网络时间协议(NTP)**:NTP是一种协议,用于在互联网上实现计算机时间的同步。它允许客户端从服务器获取时间信息,然后调整其内部时钟以匹配。标准时间校准软件如“标准时间校准.EXE”可能就是基于NTP协议来...

    自动读取校验北京时间

    这款工具的工作原理可能是通过连接到一个权威的时间服务器,如中国的国家授时中心,获取标准的北京时间。然后,它会对比本地系统时间,如果发现存在偏差,就会自动调整系统时间以保持与标准时间一致。这样可以避免...

    最好用的电脑系统时间校准

    4. 点击“开始校准”或类似按钮,BSAtomicEdu将通过互联网连接到权威的时间服务器,如NIST(美国国家标准与技术研究院)或CNRS(法国国家科研中心)等,获取准确的世界标准时间。 5. 校准完成后,系统时间将自动更新...

    Http协议网络对时工具,时间来源自国家授时中心

    Http协议网络对时工具,使用国家授时中心http服务器提供的标准北京时间,不受网关跨越限制,免去UDP协议对时工具无法穿越网关的烦恼。

    北京时间校准程序.rar

    自动校时软件的工作原理通常是通过网络连接到时间服务器,通常采用NTP(Network Time Protocol,网络时间协议)。NTP是一种用于同步网络中各个计算机时间的协议,它可以在Internet上或局域网内实现高精度的时间同步...

    能用的网络时间校对工具

    标题中的“能用的网络时间校对工具”指的是一个能够帮助用户校准计算机系统时间的程序,它通过连接到网络上的权威时间服务器,比如NIST(美国国家标准与技术研究所)的时间服务器,来确保本地时间的准确性和同步性。...

    标准时间校准的软件

    1. **时间服务器连接**:软件会自动或手动连接到一个或多个时间服务器,如ntp服务器(网络时间协议服务器),获取精确的UTC时间。 2. **时间同步算法**:使用NTP协议或者其他时间同步协议,将接收到的时间信息与...

    电脑时间校准器北京时间

    执行该程序后,它会自动查找并连接到中国国家授时中心等可靠的NTP服务器,获取北京时间的标准信号。然后,该程序会将电脑的RTC时钟调整到与这些服务器一致的时间,从而确保用户的电脑时间始终与北京时间保持精确同步...

Global site tag (gtag.js) - Google Analytics