Java 獲取本地時間與網路時間

耗子他大哥發表於2018-06-26

  為了防止使用者通過修改本地時間做一些不符合業務邏輯的事,有時候我們有必要獲取網路時間做一些關於時間的計算


//Calendar 獲取本地時間
Calendar calendar = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(calendar.getTime())+" : By Calendar");
//Date 獲取本地時間
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(date.getTime())+" : By Date");
//獲取網路時間
String webUrl = "http://www.ntsc.ac.cn";//中國科學院國家授時中心
String webUrl_baidu = "http://www.baidu.com";// 百度
String webUrl_taobao = "http://www.taobao.com";// 淘寶
System.out.println(getWebsiteDatetime(webUrl4) + " [中國科學院國家授時中心]");
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;
}

相關文章