1. 程式人生 > >獲取網路時間(國家標準時間-北京時間為準)

獲取網路時間(國家標準時間-北京時間為準)

獲取網路時間,有些網站有偏差,提供幾個比較靠譜的網站:

/**
 * 讀取網路時間
 *
 */
public class NetworkTime {

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(" [bjtime] :  "+getWebsiteDatetime(webUrl1));
        System.out.println(" [百度]:  "+getWebsiteDatetime(webUrl2));
        System.out.println(" [淘寶]: "+getWebsiteDatetime(webUrl3));
        System.out.println(" [中國科學院國家授時中心]: "+getWebsiteDatetime(webUrl4));
        System.out.println(" [360安全衛士]:  "+getWebsiteDatetime(webUrl5));
        System.out.println( " [beijing-time]:  "+getWebsiteDatetime(webUrl6));
    }

    /**
     * 獲取指定網站的日期時間
     * 
     * @param webUrl
     * @return
     */
    public static long getWebsiteDatetime(String url){
        try {
            URL url = new URL(webUrl);// 取得資源物件
            URLConnection uc = url.openConnection();// 生成連線物件
            uc.connect();// 發出連線
            long ld = uc.getDate();// 讀取網站日期時間 
            return ld;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 0;
    }
    
    /**
     * 呼叫此方法輸入所要轉換的時間戳輸入例如(1402733340)輸出("2014年06月14日16時09分00秒")
     * 
     * @param time
     * @return
     */
    public static String times(long time) {//轉換時間戳
        SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH時mm分ss秒");
        String times = sdr.format(new Date(time));
        return times;


}
}

經過測試得到結果:

"http://www.bjtime.cn";//bjTime                                    結果分析:這個網站的時間獲得偏差在1分半左右

 "http://www.baidu.com";//百度                                     結果分析:比較準

"http://www.taobao.com";//淘寶                                     結果分析:比較準

 "http://www.360.cn";//360                                              結果分析:比較準

"http://www.ntsc.ac.cn";//中國科學院國家授時中心    結果分析:與網站顯示的時間偏差10秒內

"http://www.beijing-time.org";//beijing-time                結果分析:WiFi和寬頻訪問比較準,但4G訪問偏差較大,偏差值很不穩定

這個結果是自測的,僅供參考

相關推薦

獲取網路時間國家標準時間-北京時間為準

獲取網路時間,有些網站有偏差,提供幾個比較靠譜的網站: /**  * 讀取網路時間  *  */ public class NetworkTime {public static void main(String[] args) {         String webUrl

獲取網路時間國家標準時間

我們在開發中,很多應用需要讀取網路時間來作為一個時間的標準,對業務邏輯進行相對可靠的校驗。 下面是Java中(Android一樣)讀取網路時間的程式碼: package com.test; import java.io.IOException; imp

獲取當天時間相關時間凌晨、第二天凌晨

方法一:通過毫秒數獲取當天時間相關資訊 //當前時間毫秒數 long current=System.currentTimeMillis(); //今天零點零分零秒的毫秒數 long zero=current/(1000*3600*24)*(1000*3600*24)-TimeZone.getDe

如何從日期對象python獲取以毫秒秒後3位小數為單位的時間值?

import 當前 轉換 port 如何 cti asc datetime others 要獲取具有毫秒(秒後3位小數)的日期字符串,請使用以下命令: from datetime import datetime print datetime.utcnow().s

excel 時間戳轉化為北京時間

fault com 單元格 targe 好的 OS item body 公式 單擊要獲得北京時間的那一列,右鍵,選擇【設置單元格格式】,在彈出的窗口中,左側選擇 【日期】,右側選擇你想要的時間格式,點擊確定。 選中其中一個單元格,輸入公式

OpenCV 計算執行時間us,ms,s

1. cvGetTickCount()和cvGetTickFrequency()計時,得到的單位是us級的統計時間: double start = static_cast<double>(cvGetTickCount()); double time = ((double)cvGe

linux下 單調時間另附牆上時間、CPU時間

1、單調時間     linux下編寫應用程式時,涉及到時間獲取有多個函式可以選擇,這些常用獲取時間函式之間的差異: 《1》、 time 該函式返回自1970來的秒數,精度過低; 《2》、gettimeofday   該函式返回自1970年以來的秒數和微秒數,精度足夠,符合一般場景的使用

POJ-3268 牛的來回最長時間單源最短路徑

題目大意: 有編號為1-N的牛,它們之間存在一些單向的路徑。給定一頭牛的編號,其他牛要去拜訪它並且拜訪完之後要返回自己原來的位置,求這些牛中所花的最長的來回時間是多少。 給出N頭牛,M條路,要拜訪牛的編號X。 思路: 也就是每頭牛都要已最短路徑到達X號牛,並且從X號牛

時間戳轉換成 標準時間例:2018-10-30

function timestampToTime(timestamp) { var date = new Date(timestamp * 1000); //時間戳為10位需*1000,時間戳為13位的話不需乘1000

在製品與前置時間又叫交付時間

在製品與前置時間基本為線性關係,減少在製品數量就能減少前置時間。 利特爾法則(Little’s Law)作為一個非常樸素的原理,為看板方法奠定了一個理論基礎,看似簡單的公式背後卻有其複雜的一面。 一、利特爾法則 利特爾法則的公式是這樣的: 平均吞吐率=在製品數量/

excel怎麼樣批量將unix時間戳轉化為北京時間

1:單擊要獲得北京時間的那一列,右鍵,選擇【設定單元格格式】,在彈出的視窗中,左側選擇 【日期】,右側選擇你想要的時間格式,點選確定。   2:選中其中一個單元格,輸入公式=(A2+8*3600)/86400+70*365+19其中,A2是要轉化的時間戳的單元格。輸入完公式,

Android中如何修改系統時間應用程式獲得系統許可權

在 Android 的API中有提供 SystemClock.setCurrentTimeMillis()函式來修改系統時間,可惜無論你怎麼呼叫這個函式都是沒用的,無論模擬器還是真機,在logcat中總會得到"Unable to open alarm driver: Permission denied "

轉載:Android中如何修改系統時間應用程式獲得系統許可權

在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函式來修改系統時間,可惜無論你怎麼呼叫這個函式都是沒用的,無論模擬器還是真機,在logcat中總會得到"Unable to open alarm driver: Permission denied "

非常精確的測試執行時間比clock()更精確些

// timerTest.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include <Windows.h> int _tmain(int argc, _TCHAR* argv[]) {     /*     Que

POJ3268 牛的最長來回時間單源最短路徑

有編號為1-N的牛,它們之間存在一些單向的路徑。給定一頭牛的編號,其他牛要去拜訪它並且拜訪完之後要返回自己原來的位置,求這些牛中所花的最長的來回時間是多少。 每頭牛返回的最短時間很簡單就可以算出來,這相當於從目標牛為起點求單源最短路徑。但每頭牛出發到目標牛的最短時間無法直接

深入位元組碼 -- 計算方法執行時間ONE APM基礎原理窺探

市面上有聽雲、oneapm等效能分析工具,通過對使用的APK反編譯分析,他們提供的PLUGIN都做了很重要的一件事情,就是在class檔案進行了程式碼打點, 也就是在實際的程式碼上做了他們自己的一些程式碼以便於用於效能分析。 詳細的技術參考:http://www.tuico

Java中轉UTC時間字串(含有T Z)為local時間2017-01-22T09:28:33Z

在Java中我們需要轉換相應格式的字串,很多時候我們想到用SimpleDateFormat類來解析。但是最近我在呼叫介面時返回的JSON字串中有個pub_date欄位的值是2017-01-22T09:28:33Z。那麼如何解析成Date類呢? 如下程式碼所示:

Unix時間戳(Unix timestamp) → 北京時間相互轉換

在分散式系統中經常有linux時間戳作為標記,linux時間與北京時間相互轉換變得非常重要,可以快速的定位時間和問題。 關於時間格式的解釋 UTC  (Universal Time Coordinated,UTC)世界協調時間 CST  (China Standar

巧妙地利用時間js中的Date物件來生成絕對不會重複的id

接著上一篇部落格說,本來利用nodejs,操作本地json檔案的時候,如果是新增的話,肯定是要給新增的資料一個唯一識別的id,我上網查了很多方法,說是用陣列什麼的方法,我覺得太複雜,後來我看到電腦右下角的時間,靈機一動,為什麼不利用js 中的 Date物件來生成

測試一段C程式碼的執行時間windows系統和ubuntu系統

//測試一段C程式碼的執行時間 #include <stdio.h> //注意這裡標頭檔案有所不同 #include "time.h" int main() // 主函式的形式有所不同 {