1. 程式人生 > >關於java(MyEclipse)時區不對,差8個小時處理(方法一)

關於java(MyEclipse)時區不對,差8個小時處理(方法一)

最近有遇到java的時間不對的事件,現象:

通過java語句獲得系統時間,用

  Date d = new Date();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd  kk:mm:ss ");
  System.out.println(sdf.format(d));

或者:

    Calendar now = Calendar.getInstance();
    System.out.println(now.get(Calendar.HOUR_OF_DAY));
    System.out.println(now.get(Calendar.MINUTE));
    System.out.println(now.get(Calendar.SECOND));

取得的時間總是比系統時間少8個小時,獲得的總是格林尼治時間(0時區的時間),檢查系統時間確實是正確的,時區為GMT+8:00北京……等;但是此前並沒有發生這類問題,以前時間是正確的,但是重灌系統後出現了java的時間問題,可能是系統時間登錄檔出現問題,這裡就不修改登錄檔了。這時MyEclipse或Java預設的時間時區是0時區,所以:

考慮到程式碼的可移植性,在用到時間的地方都初始化當前的時區;加上程式碼:

setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));

修改如下:

  Date d = new Date();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd  kk:mm:ss ");
  sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));

  System.out.println(sdf.format(d));

或者:

    Calendar now = Calendar.getInstance();
    now.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));//important
    System.out.println(now.get(Calendar.HOUR_OF_DAY));
    System.out.println(now.get(Calendar.MINUTE));
    System.out.println(now.get(Calendar.SECOND));

這樣就可以了。

相關推薦

關於javaMyEclipse時區不對8小時處理方法

最近有遇到java的時間不對的事件,現象: 通過java語句獲得系統時間,用   Date d = new Date();  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd  kk:mm:ss ");  System

java中Date型別到MongoDB日期轉換問題2018-03-01T16:00:00.000Z8小時問題應該是3月2號才對

一種:String dt = "2018年3月2日"; SimpleDateFormat sd = new SimpleDateFormat("yyyy年MM月dd日"); //sd.setCalendar(new GregorianCalendar(new SimpleTi

Myeclipse日誌時間顯示8小時

問題描述: eclipse裡面的系統時間,SVN或者其他紀錄修改檔案後的時間全部慢了8小時,而且呼叫時間類呼叫當前時間也少8小時。 這個問題主要有JRE的時區所引起的,在eclipse安裝目錄E:/Program Files/MyEclipse 6.0/eclipse下找到e

ElasticSearch裡面關於日期的儲存方式,解決8小時

在ElasticSearch裡面最常用的就是時間欄位了,經常會在群裡看到一些小夥伴提出有關時間的問題,為什麼es查詢的時間跟我實際看到的時間差8個小時呢。如果我們瞭解了ElasticSearch底層的時間儲存方式就會比較容易的理解這個問題。 下面散仙先普及下時區的知識,想必大

java時間相差8小時的解決方法

在資料庫中提取出資料如果少了8個小時 那麼在程式中加上8個小時即可解決 // 用於解決時差8小時問題 private static String formDate(Date value) {

Sqoop增量抽取Oracle資料最近8小時的資料未被抽取

在使用sqoop增量抽取資料時,在不指定m的情況下,匯出日誌中可以看到添加了截止時間,但這個時間並不是系統時間,經過多次比較發現,這個時間比當前系統時間早8個小時。因此懷疑是時區問題。檢查Oracle中的回話時區和資料庫時區:SQL> SELECTSESSIONTIME

java實現計算器最低版1.0只能實現從左到右依次計算——初學者入門

軟體:eclipse 才開始用java設計東西,我覺得這個程式適用於初步想設計計算器的同學用,雖然很簡單,但我會慢慢更新自己所寫計算器,實現更強的邏輯。 例如:61-7*4=216(從左至右的簡單邏輯,還不完善) 程式碼:(有詳細註釋) //大佬不適合看! package l

java調取XLS中的內容已整合為UnitXlS類最新版2018/10

昨天開發遊戲的時候,需要xls表格進行獲取遊戲資料,存在txt檔案中存寫方式有點亂 像這張圖一樣,裝備資訊一覽無遺 這是一個UnitXLS,呼叫方法:AddXls(將xls中的資訊存入list)  +  取內容(在list中取出)即可 import java

你和阿里資深架構師之間的不僅僅是年齡進階必看

導讀:閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步瞭解一個資深架構師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己進行查漏補缺,覺得本文對你有幫助的話,可以點贊關注一下。 目錄: 一、基礎篇 二、進階篇 三、高階篇 四、架構篇 五、

java SE學習過程中的知識點小結很多內容過於基礎希望能幫助到學習路上的同學————歡迎老手批評指正

①、把boolean測試放在括號內:例如while(x==4){}  //當然看過很多部落格,裡面有工作經驗的工作者說以後公司可能習慣性寫(4==x) ②、所有java程式都定義在類中(也是區別於C++的主要特徵) ③、物件本身已知到的事物稱為例項變數,它代表物件的狀態,物件可執行的動作稱為方法。 ④、類可以

Java 改變伺服器時區為特定時區解決獲取系統時間和伺服器相差8小時

//轉換伺服器時區為東八區 TimeZone timeZoneSH = TimeZone.getTimeZone(“Asia/Shanghai”); SimpleDa

java把物件轉化成流和把流轉化成物件包含clone機制+序列化機制

類如下,這裡為了測試 僅僅用了內部類class Book implements Serializable { int i = 1; }物件轉化成位元組Book b = new Book(); B

專案中檔案位置不對導致找不到檔案專案裡有好幾同名的檔案比如好幾index.jsp

有時候新建的jsp是放在lib下面的,而不是和下面的在一塊,沒有和WEB-INF並列,結果瀏覽器裡開啟時,就找不到這個頁面,把這個頁面 拖到下面去,就找的了。 不知道是不是我新建的時候,是點在WEB-INF上了,所以就新建在WEB-INF下面了。結果訪問的時候,是隻進入了專案名,所以只能訪問專案根目錄下

Java程式猿想超神我來回答這些問題java基礎

1、例項方法和靜態方法有什麼不一樣? 例項方法是物件方法,由物件呼叫,在使用使用時方法才會被載入進記憶體 靜態方法是在類被載入是被載入進記憶體,由類名直接進行呼叫 所以在靜態的方法中只可以呼叫靜態的方法或成員,因為靜態方法的載入時間早於物件建立,所以在靜態

關於函數getline簡單註意事項不懂你懟我!!!

為什麽 你在 進行 ios 二次 mce cond ont esp 關於getline()函數好使但是有毒; 有兩種操作需要進行特殊處理: First: #include <iostream>#include <cstring>#include &

在Linux下使用MinGW靜態交叉編譯帶有zlib的libcurl包括交叉編譯openssl即--cross-compile-prefix=i686-w64-mingw32- mingw

darwin 目錄 basename 編譯器 wine href dem 我不 clas 在Linux下使用MinGW靜態交叉編譯帶有zlib的libcurl libcurl是一個跨平臺的、易用的、強大的網絡庫。在大部分Linux發行版中都有編譯好的二進制包可供使用,

Kitto2 now with free opensource Kide2 since September 2017提供Web解決方案大概是覺得Mobile開發快差不多了

license external http perf nal metal www hat products Kitto2 is a tool for data-driven web application Development. It allows to create R

12順序不對修改 顯示目錄 的彈出對話框

select cbo 添加 手冊 row count() src 顯示 log 1)接著之前的代碼 2)直接就是添加事件處理 3)基本過程:           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

手工編譯安裝Apache, 版本httpd-2.4.29免費提供安裝包懶人福利;提供安裝腳本

echo -e abd sel local 使用 ado .tar.gz c++ height 環境部署:本次實驗以redhat6.5系統為安裝對象,(CentOS其他系列也可以)安裝Apache源碼包 httpd-2.4.29.tar.bz2依賴包 pcre-8.41.t

python 匯入模組使用程式匯入模組並簡單對錯誤處理

在python 中如果需要匯入一些模組,可以使用import xxx 或者使用from xx import xx 。只有這一種方式嗎,當然不是,還有一種就是使用程式碼將一些模組匯入。使用到的是 ` importlib ` 這個模組。 一般用法: import importlib imp