『壹』 java date().getTime() linux上取的時間戳比Windows上取的快了一天
時區的關系 windows一般情況下大家正也好盜也好,反正都是中文版,所以比較統一
linux上就不一定了 ,時區有可能不是北京,或上海時間
先修正時區 再看看
或這樣試試
在JAVA的運行環境中加入這一行
export TZ="Asia/Shanghai"
因為我現在電腦里沒linux也不知道你安裝的是什麼發行版本,所以這個只能你電腦里去測式了
『貳』 linux 改了時區但是java date 還是以前的時區
在Tomca 啟動的sh中,默認的設置是 -Duser.timezone=GMT,如果在程序中使用 Date = new Date()則對應的是零時區的時間。如果操作系統的時區也是零時區就沒什麼。如果不是就有時間偏差。以下可以幫助糾正
import Java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Main {
『叄』 linux怎麼改系統時區
在linux中,有一些程序會自己計算時間,不會直接採用帶有時區的本機時間格式,會根據UTC時間和本機所屬的時區等計算出當前的時間。
比如jdk應用,時區為「Etc/UTC」,本機時間改為北京時間,通過java代碼中new 出來的時間還是utc時間,所以必須得修正本機的時區。
echo 'Asia/Shanghai' >/etc/timezone
『肆』 如何改變linux伺服器系統時區和時間
1、時區設置可以通過tzselect命令來進行設置,具體執行tzselect命令-->選擇Asia-->選擇China-->選擇east China - Beijing, Guangdong, Shanghai, etc-->然後輸入1,如下圖所示,根據向導輸入相應的數字鍵回車鍵即可。
『伍』 linux系統的時區有哪些
CST:中國標准時間(China Standard TIme),這個解釋可能是針對RedHat Linux。
UTC:協調世界時,又稱世界標准時間,簡稱UTC,從英文國際時間/法文協調時間」UniversalTIme/Temps Cordonné」而來。中國大陸、香港、澳門、台灣、蒙古國、新加坡、馬來西亞、菲律賓、澳洲西部的時間與UTC的時差均為+8,也就是UTC+8。
GMT:格林尼治標准時間(舊譯格林威治平均時間或格林威治標准時間;英語:Greenwich Mean Time,GMT)是指位於英國倫敦郊區的皇家格林尼治天文台的標准時間,因為本初子午線被定義在通過那裡的經線。
『陸』 linux系統下java程序獲取的時間與系統時間不一致
造成這種問題的原因是:你的操作系統時區跟你JVM的時區不一致。
你的操作系統應該是中國的時區,而JVM的時區不一定是中國時區,你在應用伺服器的Java虛擬機添加如下配置: -Dfile.encoding=UTF8 -Duser.timezone=GMT+08
在一個精簡的Linux安裝上jre,所有的java程序獲取的時間都不是系統時間。java程序獲取的時間都是GMT時間,而系統是北京時間,是GMT+8,剛好相差8小時。只有兩種方法可以解決 :
1、在程序中使用java的函數設定時區。
2、在啟動java程序時加參數-Duser.timezone=GMT+8
jre是從/etc/sysconfig/clock這個文件中 獲取時區信息的。
附clock文件內容:
ZONE="Asia/Shanghai"
UTC=false
ARC=false
ZONE -- 時區
UTC -- 表明時鍾設置為UTC。
ARC -- 僅用於alpha表明使用ARC。
『柒』 Linux系統時區不對怎麼辦
1、查看系統時間
#date
可以看到時區為EST(美國東部標准時間),正常顯示應該是CST(中國標准時間)。
2、查看系統時區
#date -R
可以看到輸出為
Fri, 21 Nov 2014 00:54:08 -0500
時區為-5
正常時區應該顯示為+8(東八區)
3、確保網路通暢,DNS正常解析,嘗試同步互聯網時間
#ntpdate cn.pool.ntp.org
4、查看系統時區配置文件
#cat /etc/sysconfig/clock
『捌』 linux 改了時區但是java date 還是以前的時區
資料庫默認時區與伺服器上不一致。如果伺服器時間是你想要的,那麼就是資料庫時區未設置。一般情況下安裝中文版的就會默認給你默認設置為東八區,應該沒有問題。我先前這個中間還用了一個中間件才到資料庫,但是前台增加與顯示結果也都沒問題(中間件會負責解析)。這種情況跟客戶端一點關系都沒有(除非你的date是js中的date那就有關系了)
『玖』 如何在Linux 中查看你的時區
linux查看與修改時區、時間的命令1、查看、修改linux時區與時間一、linux時區的查看與修改1,查看當前時區date -R2,修改設置時區方法1:tzselect方法2:僅限於RedHat linux 和 CentOStimeconfig方法3:適用於Debiandpkg-reconfigure tzdata3,復制相應的時區文件,替換系統時區文件;或者創建鏈接文件cp /usr/share/zoneinfo/$主時區/$次時區 /etc/localtime在中國可以使用:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime二、linux時間的查看與修改1、查看時間和日期date2、設置時間和日期將系統日期設定成1996年6月10日的命令date -s 06/22/96將系統時間設定成下午1點52分0秒的命令date -s 13:52:003. 將當前時間和日期寫入BIOS,避免重啟後失效hwclock -w三、定時同步時間* * * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1linux中用於時鍾查看和設置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一個就行,只不過clock命令除了支持x86硬體體系外,還支持Alpha硬體體系。查看linux系統時間:date修改linux系統時間:date -s (後面跟時間)查看linux硬體時間:Java代碼 hwclock #或 clock #或 hwclock –show #或 clock –show 修改linux硬體時間:C代碼 hwclock –set –date #或 clock –set –date 讓系統時間與硬體時鍾同步,用:C代碼 hwclock –hctosys #或 clock –hctosys 相反地,讓硬體時鍾與系統時間同步:C代碼 hwclock –systohc #或 clock –systohc 讓系統時間每隔十分鍾去同步一下硬體時間。C代碼 [hqw@localhost root]$ vi /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly */10 * * * * root hwclock --hctosys #加入此行,每隔10分鍾執行一次hwclock --hctosys
『拾』 如何在linux下 使用java代碼正確獲取夏令時的時間
一:環境搭建
OpenOffice 下載地址http://www.openoffice.org/JodConverter
下載地址http://sourceforge.net/projects/jodconverter/files/JODConverter/
解壓後將目錄下的所有jar包放在工程的lib下面或者採用引用的方式調用這些jar包。
下載後安裝,我安裝的路徑為D:/openOffice/install/
二:啟動服務
可以通過cmd調用服務, " cd D:/openOffice/install/program"
執行
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
查看是否安裝成功,查看埠對應的pid
netstat -ano|findstr 8100
查看pid對應的服務程序名
tasklist|findstr pid值
也可以把這一步省略,放到java程序中調用服務,因為啟動服務佔用內存比較大,在java中可以在使用
的時候調用,然後馬上銷毀。
三:程序代碼
1:將word轉換為pdf方法
1 // 將word格式的文件轉換為pdf格式
2 public void Word2Pdf(String srcPath, String desPath) throws IOException {
3 // 源文件目錄
4 File inputFile = new File(srcPath);
5 if (!inputFile.exists()) {
6 System.out.println("源文件不存在!");
7 return;
8 }
9 // 輸出文件目錄
10 File outputFile = new File(desPath);
11 if (!outputFile.getParentFile().exists()) {
12 outputFile.getParentFile().exists();
13 }
14 // 調用openoffice服務線程
15 String command = "D:/openOffice/install/program/soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";
16 Process p = Runtime.getRuntime().exec(command);
17
18 // 連接openoffice服務
19 OpenOfficeConnection connection = new SocketOpenOfficeConnection(
20 "127.0.0.1", 8100);
21 connection.connect();
22
23 // 轉換word到pdf
24 DocumentConverter converter = new OpenOfficeDocumentConverter(
25 connection);
26 converter.convert(inputFile, outputFile);
27
28 // 關閉連接
29 connection.disconnect();
30
31 // 關閉進程
32 p.destroy();
33 System.out.println("轉換完成!");
34 }
2:調用方法
1 @Test
2 public void testWord2Pdf() throws IOException {
3 String srcPath = "E:/test.docx";
4 String desPath = "E:/test.pdf";
5 Word2Pdf(srcPath, desPath);
6 }
以上代碼經過驗證,可以正常運行。
四:遇到問題
錯誤信息:
java.net.ConnectException: connection failed: socket,host=10.101.50.71,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused: connect
at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
原因以及解決方法:第一次調用,soffice需要注冊,所以到soffice.exe的安裝路徑下雙擊soffice.exe,注冊即可。