JAVA 的 CST,UTC 日期格式的互相轉換 和GMT時區
UTC: 世界協調時間
CST: 中央標準時間
GMT: 時區
當UTC時間爲0點時,中國CST時間爲8點,因爲零時區和中國北京時區相差8個時區。
話不多說
先來UTC格式的日期GMT時區寫法
/**
* 生成當前的UTC時間戳
*/
private String generateTimestamp() {
Date date = new Date(System.currentTimeMillis());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
df.setTimeZone(new SimpleTimeZone(0, "GMT"));
return df.format(date);
}
輸出的格式是UTC格式 比本地的系統時間少八個小時,一般有的驗證簽名的使用的是這種日期的算法 :
當然也有同學說想要直接減掉本地系統時間的八個小時 來完成GMT的時區差,下面貼出的就是
//UTC格式轉GMT時區
df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
date = df.parse(resStr);
long retime = date.getTime() - 8 * 60 * 60 * 1000;
String time = df.format(retime);
return time;