1. 程式人生 > >linux下為java設定正確的時區

linux下為java設定正確的時區

       公司新裝的測試環境,發現報表上顯示的時間比正常時間差了8個小時,檢查了一下系統時間,發現設定完全正確,這就很奇怪了;

       後來想到因為系統中使用的時間型別是timestamp型別,所以會有時區的問題,當時區設定有問題的時候就會發生檢視當前時間設定正確,但是時間怎麼也對不上的情況;

       於是到網上查詢如何設定時區,走了一些彎路,在此總結一下:

  • 方法一
在 tomcat的jvm 執行引數加上 -Duser.timezone=GMT+8 ;
設定好後,就會忽略系統設定的時區,這種方法雖然簡單直接,但是卻不是一種好的方式,要從根源上解決問題!
  • 方法二
對映時區檔案/etc/localtime ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 或 cp /
usr/share/zoneinfo/Asia/Shanghai/etc/localtime java獲取時區讀取的就是/etc/localtime這個檔案(準確的說應該是hotspot jvm,openjdk不起作用,要用方法一); 刪了/etc/localtime,java時區就變成了GMT,軟連結到指定時區後,java時區就是localtime指定的時區;

以下方法個人親測針對hotspot jvm不管用(也許針對openjdk 虛擬機器起作用);有沒有/etc/sysconfig/clock這個檔案,不會對jvm有任何影響,但是應該會對計算機關閉啟動的時間有影響;
在TOMCAT的JAVA執行引數新增 -Duser.timezone=Asia/Shanghai或者,如果有啟動的定時器或首次執行的程式碼,可以使用語句 System.setProperty("user.timezone","Asia/Shanghai");來設定

但是為解決時區問題,這樣編碼實在太煩,所以你要知道如何從根本上解決問題:
LINUX下:jre是從/etc/sysconfig/clock這個檔案中獲取時區資訊的,修改次檔案即可,沒有的話新增一個。
附clock檔案內容:
ZONE="Asia/Shanghai"
UTC=false
ARC=false

相關推薦

linuxjava設定正確時區

       公司新裝的測試環境,發現報表上顯示的時間比正常時間差了8個小時,檢查了一下系統時間,發現設定完全正確,這就很奇怪了;        後來想到因為系統中使用的時間型別是timestamp型別,所以會有時區的問題,當時區設定有問題的時候就會發生檢視當前時間設定正確

Linux命令設定別名的方法

               我們都知道,在管理和維護Linux系統的過程中,將會使用到大量命令,有一些很長的命令或用法經常被用到,重複而頻繁的輸入某個很長命令或用法是不可取的。這時可以使用 別名 功能將這個過程簡單化。Linu

linux分割槽設定label

linux下用e2label命令來設定分割槽的label,其用法很簡單: e2label 分割槽 [新label] 如果後面指定新label則為分割槽設定新label;如果後面不指定label,則顯示分割槽的當前label 其man手冊 E2LABEL(8)    

linuxmysql設定使用者名稱和密碼

還有,輸mysql可以,輸mysql -u root就出錯了: Access denied for user 'root'@'localhost' (using password: NO). The reason is: 是昨日更新ROOT密碼時出錯 update user

linuxgit設定臨時代理

linux下為Git設定代理 git config --global http.proxy http://proxy.com:1234   git config --global https.proxy http://proxy.com:1234   git config --global http

LinuxJava圖形介面程式中文顯示不正常(顯示方格)問題解決

RedHat或其它Linux系統下中文顯示為方格,原因是JRE環境中中文字型設定異常。 1.首先找到JRE所在的目錄,如在RedHat Enterprise 6中的目錄為:/usr/lib/jvm/java-1.6.0/jre 2.將windows中文字型simsun.ttf或simsun.ttc拷

linux將檔案設定swap

在網上弄了一臺VPS,結果安裝完系統發現沒有swap。因為記憶體比較小,沒有swap有時候容易卡死,於是打算設定一個檔案充當swap。以前幹過這事,不過因為一般裝系統時候會設,所以這功能基本用不到,漸漸也就忘了。今天又查了一下,記錄在此備忘。   先建立一個固定大小的檔案 sudo dd if

Linux查看/修改系統時區、時間

英國倫敦 sha 硬件時間 創建 com rec shanghai asi deb 一、查看和修改Linux的時區 1. 查看當前時區 命令 : "date -R" 2. 修改設置Linux服務器時區 方法 A 命令 : "tzselect" 方法 B 僅限於RedHat

linuxJava開發 intellij idea+tomcat+maven

rac project article attribute tail 3.1 構圖 eat quest 前期準備:安裝intellij idea、下載tomcat、下載maven(註意我用的是tomcat6、maven 3.2.1、jdk1.6.0_45,之前maven用的

8、Linux配置Java環境

root nbsp bin blog 信息 linux tar.gz span 都是 轉載:http://blog.sina.com.cn/s/blog_c5a35e780102wtxl.html 生物信息很多軟件都是用java寫的,所以需要在linux上配置java運行環

linux配置java環境

nbsp 列表 ack www. eboot 系統屬性 zxvf 選擇 標準 1.首先要去下載好JDK,Java SE 8的官方網址是http://www.oracle.com/technetwork/java/javase/downloads/jdk8

Linux 安裝java JDK

設置環境變量 是否 .tar.gz 軟連接 inux htm 安裝 html ftp 第一步:下載jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

[轉]Linux安裝Java環境配置步驟詳述

-i font ssp code jdk8 hit 當前 ive 每天 1、下載jdk8 登錄網址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht

轉:// LINUXORACLE數據庫設置大頁--hugepage

參數設置 let target == 頁交換 rom 使用 sysctl onf 在Linux中配置hugepage可以提高oracle的性能,減少oracle sga的頁交換,類似於aix中的lagepage。 為什麽 使用大頁? LINUX內存的默認塊大小是4K如果S

Linux安裝Java環境配置

ora 添加 clas 地址 ava 建立 java_home alt pro 1.下載安裝文件 下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

轉載:Linux查看/修改系統時區、時間

div 系統 啟動 localtime ive hctosys red 亞洲 命令 一、查看和修改Linux的時區 1. 查看當前時區 命令 : "date -R" 2. 修改設置Linux服務器時區 方法 A 命令 : "tzselect" 方法 B 僅限於RedHat

linux安裝java jdk

tools $path tro jdk jvm VM 1-1 ava profile 第一步:查看java對應版本 yum search java 我自己裝的是1.8版本的java包 第二步:裝java包 yum ins

linux export只能設定臨時變量

變量 還需 報錯 設定 linu mina pytho rmi 系統環境 今天在調用ABBYY的時候,需要傳遞APPID和APPPASSWD給系統環境才能夠執行相應的python調用代碼。 設置之後,因為寫代碼自己關掉了terminal,後面直接運行報錯,訪問權限不存在。以

linuxfirfox安裝flash player

ria pap tar.gz tar hit was files other iat 1.去官網下載×.tar.gz包,如:flash_player_npapi_linux.x86_64.tar.gz 2.解壓 tar -zxvf flash_player_npapi_l

linuxjdk安裝設定

1. 解壓tar tar -xzvf 包名.tar.gz   2、配置jdk環境變數 vi /etc/profile   export JAVA_HOME=/home/jdk1.8.0_121 export PATH=$PATH:$JAVA_HOME/