获取UTC(GMT)时间
private static String getUTCDate() {
String months = "";
String days = "";
String hours = "";
String sec = "";
String minutes = "";
Calendar cal = Calendar.getInstance();
// 取得时间偏移量:
int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);
// 取得夏令时差:
int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);
// 从本地时间里扣除这些差量,即可以取得UTC时间:
cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String years = String.valueOf(year);
//years = years.substring(2);
if (month < 10) {
months = "0" + String.valueOf(month);
} else {
months = String.valueOf(month);
}
if (day < 10) {
days = "0" + String.valueOf(day);
} else {
days = String.valueOf(day);
}
if (hour < 10) {
hours = "0" + String.valueOf(hour);
} else {
hours = String.valueOf(hour);
}
if (minute < 10) {
minutes = "0" + String.valueOf(minute);
} else {
minutes = String.valueOf(minute);
}
if (second < 10) {
sec = "0" + String.valueOf(second);
} else {
sec = String.valueOf(second);
}
StringBuffer UTCTimeBuffer = new StringBuffer();
UTCTimeBuffer.append(years).append(months).append(days).append(hours).append(minutes).append(sec).append("Z");
logger.info("sign=["+UTCTimeBuffer.toString()+"]");
return UTCTimeBuffer.toString();
}
UTC(GMT)转换成东八区时间
public static Long utcTimeToEasternTime(String UTCTime) {
String time = "";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
try {
Date parse = simpleDateFormat.parse(time);
logger.info("签章时间=["+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(parse)+"]");
} catch (ParseException e) {
logger.error("Conversion time failure", e);
}
}