java時區轉換
包括將世界標準時間轉換為本地時間和將世界標準時間轉換為目標時區的本地時間,以及將本地時間轉換為世界標準時間。
/**
* @author j.tommy
* @version 1.0
* @date 2017/12/10
*/
public final class DateUtil {
/**
* 將世界標準時間轉換為本地時間
* @param gmtDate
* @return
*/
public static Date convertGMT2Local(Date gmtDate) {
Calendar c = Calendar.getInstance();
c.setTime(gmtDate);
int zoneOffset = c.get(Calendar.ZONE_OFFSET);
int dstOffset = c.get(Calendar.DST_OFFSET);
c.add(Calendar.MILLISECOND,zoneOffset+dstOffset);
return c.getTime();
}
/**
* 將世界標準時間轉換為目標時區的本地時間
* @param gmtDate
* @param id
* @return
*/
public static Date convertGMTToLocal (Date gmtDate, String id) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.setTime(gmtDate);
calendar.setTimeZone(TimeZone.getTimeZone(id));
int zoneOffset = calendar.get(Calendar.ZONE_OFFSET);
int dstOffset = calendar.get(Calendar.DST_OFFSET);
calendar.add(Calendar.MILLISECOND, dstOffset+zoneOffset);
return calendar.getTime();
}
/**
* 將本地時間轉換為世界標準時間
* @param date
* @return
*/
public static Date convertToGMT(Date date) {
//Local Time Zone Calendar Instance
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int zoneOffset = calendar.get(Calendar.ZONE_OFFSET);
int dstOffset = calendar.get(Calendar.DST_OFFSET);
calendar.add(Calendar.MILLISECOND, -(dstOffset+zoneOffset));
return calendar.getTime();
}
public static void main(String[] args) {
String gmtDateString = "2017-12-10T04:10:01.794Z";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
Date gmtDate = sdf.parse(gmtDateString);
Date localDate = convertGMT2Local(gmtDate);
System.out.println(sdf2.format(localDate));
// for (String id : TimeZone.getAvailableIDs()) {
// System.out.println(id);
// }
localDate = convertGMTToLocal(gmtDate,"Asia/Hong_Kong");
System.out.println(sdf2.format(localDate));
gmtDate = convertToGMT(localDate);
System.out.println(sdf.format(gmtDate));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
相關推薦
java時區轉換
包括將世界標準時間轉換為本地時間和將世界標準時間轉換為目標時區的本地時間,以及將本地時間轉換為世界標準時間。 /** * @author j.tommy * @version 1.0 * @date 2017/12/10 */ public fin
關於java時區轉換夏令時問題及解決辦法
關於中國的夏令時問題:參考另外一篇:http://mp.blog.csdn.net/postedit/78924498這裡:主要講的是: 在夏令時結束的時候,java會提前一個小時變化如:2016年美國夏令時:3.13-11.6 正常變化點:紐約時間2016-3-13 2:
時區轉換
local strong consola nbsp 本地 時間轉換 spa server tostring 工作中遇到的問題,服務器在美國,但是客戶在印度,所以要把本地時間/服務器時間轉換成印度時間。代碼如下: 將本地時區轉換成印度時區: String indianTi
java編碼轉換過程(轉自http://cmsblogs.com/?p=1475)
tex src bytes .com 設定 界面 console 獲取 java程序 一、java編碼轉換過程(轉自http://cmsblogs.com/?p=1475) 我們總是用一個java類文件和用戶進行最直接的交互(輸入、輸出),這些交互內容包含的文字可能會包含
java - 數值轉換
col system code int 數據運算 log float 編譯 默認 只要數值未超過某類型的範圍,即可默認轉換,例如: long a = 123; float b = a; //編譯通過 in
JAVA日期轉換
fff 方式 value -1 util 日期轉換 err font format public class DateTest { /* * 日期格式 常用的兩種 * yyyy-MM-dd * yyyy/MM/dd */
Java中轉換為十六進制的幾種實現
amp hex sta static turn pre exceptio vat tmp public class HexUtil { private static final String[] DIGITS_UPPER = {"0", "
Java大小寫轉換
pct pri ima .com ase main aupe void light public class Main { public static void main(String[] args) { String str = "pcTclnG
Java 自動轉換和強制轉換
public 自動 ring spa demo1 light 強制類型轉換 span pub /** * 自動類型轉換和強制類型轉換 * */ public class Demo1 { public sta
RSA的密鑰把JAVA格式轉換成C#的格式
gist arr else uri rem one generate pack rate 原文地址:https://www.cnblogs.com/hvaning/p/3636288.html RSA算法在C#與JAVA之前的交互 在JAVA生成一對RSA私鑰和公鑰的
java double 轉換成 #.00 格式String 防止科學計數法
public static String double2String(Double d){ return d==null? "0.00" : String.format("%.2f", d); } 在報文前邊加8位長度 public String dea
Java日期轉換SimpleDateFormat格式大全
public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一個特別敏感的方式格式化和分析資料的具體類。 它允許格式化 (date -> text)、語法分析 (text -> date)
xstream--xml工具類--java物件轉換JSONObject、xml與java物件互轉
工作環境: myeclipse2013、jdk1.8、fastjson1.1.41、xstream1.4.3 import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.Writer;
Java word轉換pdf格式
Java 基於aspose將word轉換pdf格式 網上有很多將word文件轉換成pdf格式的例子,如windows平臺安裝外掛,或者linux伺服器上安裝外掛,或者JDK中加入dll等方式,我個人感覺侷限性比較大。如何說? 是不是我在另一個電腦上操作轉換,我就必須安裝一個什麼外
Linux使用帶時區轉換的時間函式注意事項(負負得正)
linux時間結構體定義: struct tm { int tm_sec; //代表目前秒數,正常範圍為0-59,但允許至61秒 int tm_
Simplify-Core -- java物件轉換成Json(Json generator)
先感嘆一波今天正式畢業,拿到了畢業證和學位證,然後部落格也有三個多月沒寫了,最近自己寫了一個工具類的專案,Simplify,旨在簡化重複的JAVA程式碼,基於JDK8,無其它jar包依賴,提供序列化,json,日期等常見操作。json generator部分寫的比較完善了, parse部
[Python程式設計]綜合性實驗: Java原始碼高亮 實現將Java程式碼轉換為html
前言 這個是大三下學期的Java課程設計,目前重構完成了程式碼轉換並輸出的部分.暫時還沒有打算完成視覺化介面. 程式碼不長,加起來也就100行左右(再次感受到Python的精簡),實現了對註釋,關鍵字,字串,一些運算子的高亮. 程式碼實現 import re cl
java json轉換工具類
在java專案中,通常會用到json型別的轉換,常常需要對 json字串和物件進行相互轉換。 在製作自定義的json轉換類之前,先引入以下依賴 <!--json解析工具--> <dependency> <groupId>com.fasterx
Java List轉換為字符串的幾種方法
pty png .com detail log sem sep static size Java List轉換為字符串的幾種方法 import org.apache.commons.lang3.StringUtils; import java.util.ArrayList
Java List轉換為字串的幾種方法
Java List轉換為字串的幾種方法 import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.List; // 參考:https://blog.csdn.net/vasilis_