當前位置:首頁 » 編程語言 » java夏令時

java夏令時

發布時間: 2023-08-12 21:28:32

A. java中utc時間怎麼轉換為本地時間

java utc轉本地時間的方法:
1、創建一個格式化時間對象simpleDateFormat,並初始化格式yyyy-MM-dd HH:mm:ss:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2、創建時區對象utcZone,獲取utc所在的時區
TimeZone utcZone = TimeZone.getTimeZone("UTC");
3、設置utc時區,為轉換做准備
simpleDateFormat.setTimeZone(utcZone);
4、獲取本地時間,並轉換
Date myDate = simpleDateFormat.parse(rawQuestion.getString("AskDateTime"));
5,按照上面的流程就轉換本地時間了。

B. java中如何對時間做國際化處理啊

import java.util.*;
import java.text.*;

public class timeText {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Date now = new Date();
Calendar cal = Calendar.getInstance();

DateFormat d1 = DateFormat.getDateInstance(); //默認語言(漢語)下的默認風格(MEDIUM風格,比如:2008-6-16 20:54:53)
String str1 = d1.format(now);
DateFormat d2 = DateFormat.getDateTimeInstance();//獲取系統時間格式
String str2 = d2.format(now); //將時間格式轉換成字元串
DateFormat d3 = DateFormat.getTimeInstance();
String str3 = d3.format(now);
DateFormat d4 = DateFormat.getInstance(); //使用SHORT風格顯示日期和時間
String str4 = d4.format(now);

DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //顯示日期,周,時間(精確到秒)
String str5 = d5.format(now);
DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //顯示日期。時間(精確到秒)
String str6 = d6.format(now);
DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //顯示日期,時間(精確到分)
String str7 = d7.format(now);
DateFormat d8 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //顯示日期,時間(精確到分)
String str8 = d8.format(now);//與SHORT風格相比,這種方式最好用
System.out.println("用Date方式顯示時間: " + now);//此方法顯示的結果和Calendar.getInstance().getTime()一樣

System.out.println("用DateFormat.getDateInstance()格式化時間後為:" + str1);
System.out.println("用DateFormat.getDateTimeInstance()格式化時間後為:" + str2);
System.out.println("用DateFormat.getTimeInstance()格式化時間後為:" + str3);
System.out.println("用DateFormat.getInstance()格式化時間後為:" + str4);

System.out.println("用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化時間後為:" + str5);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化時間後為:" + str6);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化時間後為:" + str7);
System.out.println("用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化時間後為:" + str8);
}
}
運行結果:

用Date方式顯示時間: Mon Jun 16 20:54:53 CST 2008
用DateFormat.getDateInstance()格式化時間後為:2008-6-16
用DateFormat.getDateTimeInstance()格式化時間後為:2008-6-16 20:54:53
用DateFormat.getTimeInstance()格式化時間後為:20:54:53
用DateFormat.getInstance()格式化時間後為:08-6-16 下午8:54
用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)格式化時間後為
:2008年6月16日 星期一 下午08時54分53秒 CST
用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)格式化時間後為
:2008年6月16日 下午08時54分53秒
用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)格式化時間後
為:08-6-16 下午8:54
用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)格式化時間
後為:2008-6-16 20:54:53

或者直接獲取毫秒,但是感覺與你問題無關

C. 在java裡面,如何得到UTC時間, 時間格式為:Tue Oct 12 00:00:00 UTC 0800 2010

Calendar gc = GregorianCalendar.getInstance();
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
//之後調用cal.get(int x)或cal.getTimeInMillis()方法所取得的時間即是UTC標准時間。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));

贈送其它時間方法,總有一款適合您
public static void main(String[] args) {
SimpleDateFormat foo = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("foo:"+foo.format(new Date()));

Calendar gc = GregorianCalendar.getInstance();
System.out.println("gc.getTime():"+gc.getTime());
System.out.println("gc.getTimeInMillis():"+new Date(gc.getTimeInMillis()));

//當前系統默認時區的時間:
Calendar calendar=new GregorianCalendar();
System.out.print("時區:"+calendar.getTimeZone().getID()+" ");
System.out.println("時間:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
//美國洛杉磯時區
TimeZone tz=TimeZone.getTimeZone("America/Los_Angeles");
//時區轉換
calendar.setTimeZone(tz);
System.out.print("時區:"+calendar.getTimeZone().getID()+" ");
System.out.println("時間:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
Date time=new Date();

//1、取得本地時間:
java.util.Calendar cal = java.util.Calendar.getInstance();

//2、取得時間偏移量:
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);

//3、取得夏令時差:
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);

//4、從本地時間里扣除這些差量,即可以取得UTC時間:
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));

//之後調用cal.get(int x)或cal.getTimeInMillis()方法所取得的時間即是UTC標准時間。
System.out.println("UTC:"+new Date(cal.getTimeInMillis()));

Calendar calendar1 = Calendar.getInstance();
TimeZone tztz = TimeZone.getTimeZone("GMT");
calendar1.setTimeZone(tztz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeInMillis());

}

運算結果是Tue Oct 19 16:54:57 CST 2010 符合你的要求
只是以毫秒來算的

D. java問題 獲取當前時間

getDate();
換成
new Date()就可以了,注意這里Date()是java.util包中的。
這樣輸出的時間格式是:
dow mon dd hh:mm:ss zzz yyyy其中:
dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
mon 是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。
dd 是一月中的某一天(01 至 31),顯示為兩位十進制數。
hh 是一天中的小時(00 至 23),顯示為兩位十進制數。
mm 是小時中的分鍾(00 至 59),顯示為兩位十進制數。
ss 是分鍾中的秒數(00 至 61),顯示為兩位十進制數。
zzz 是時區(並可以反映夏令時)。標准時區縮寫包括方法 parse 識別的時區縮寫。如果不提供時區信息,則 zzz 為空,即根本不包括任何字元。
yyyy 是年份,顯示為 4 位十進制數。
例如:今天的某個時間 Wed May 12 10:28:34 CST 2010

如果以上面的這種時間形式直接插入到資料庫,可能可讀性較差
因此需要對時間格式進行適當的調整
可利用java提供的java.text.SimpleDateFormat類進行修改
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
輸出的時間格式為 2010-05-12 10:28:34

最後將getDate()修改成
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
就可以了

E. 如何在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,注冊即可。

熱點內容
加密工具源碼 發布:2025-02-06 05:44:52 瀏覽:13
筆記本可用存儲多大 發布:2025-02-06 05:44:48 瀏覽:157
ftp登錄後沒有反應 發布:2025-02-06 05:29:41 瀏覽:175
linux建目錄命令 發布:2025-02-06 05:29:06 瀏覽:724
安卓所有照片在哪裡 發布:2025-02-06 05:16:32 瀏覽:972
l2緩存作用 發布:2025-02-06 05:15:02 瀏覽:291
快播為什麼連接不了伺服器 發布:2025-02-06 05:12:51 瀏覽:386
不吸煙解壓 發布:2025-02-06 05:12:07 瀏覽:282
php淘汰 發布:2025-02-06 04:59:39 瀏覽:74
omr編程 發布:2025-02-06 04:58:15 瀏覽:591