package jp.glastonk.dev.util;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
/**
*根据時間帯、变换表示時間工具类。
*/
public class TimeZoneUtil {
private static String JAPAN_TIME_ZONE = "GMT+9";
private static String DATE_SLASH = "/";
private static String TIME_COLON = ":";
private static String DATE_SPACE = " ";
public static TimeZone getDefaultTimeZone() {
return TimeZone.getDefault();
}
/**
*時間変更
*
* @param
* @param date 時間
* @return 変更后的時間
*/
public static Date changeTimeAccordingTimeZone(Date date){
Date dateChanged = null;
if (date != null){
int timeOffset = TimeZone.getTimeZone(TimeZoneUtil.JAPAN_TIME_ZONE).getRawOffset() - getDefaultTimeZone().getRawOffset();
dateChanged = new Date(date.getTime() - timeOffset);
}
return dateChanged;
}
/**
*日本的時間
*
* @return 日本の時間 而且是24小时制的结果
*/
public static Calendar getCalendarInstance(){
Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone(TimeZoneUtil. JAPAN_TIME_ZONE));
String japanDateStr = calendar.get(Calendar.YEAR) + TimeZoneUtil.DATE_SLASH
+ (calendar.get(Calendar.MONTH) + 1) + TimeZoneUtil.DATE_SLASH
+ calendar.get(Calendar.DAY_OF_MONTH)+TimeZoneUtil.DATE_SPACE
+calendar.get(Calendar.HOUR_OF_DAY) + TimeZoneUtil.TIME_COLON
+ calendar.get(Calendar.MINUTE) + TimeZoneUtil.TIME_COLON
+ calendar.get(Calendar.SECOND);
Date japanDate = new Date(japanDateStr);
calendar.setTime(japanDate);
return calendar;
}
/**
*日本の時間
*
* @return 日本の時間
*/
public static Date getJapanNowDate(){
Calendar japanCalendar = getCalendarInstance();
if(japanCalendar != null){
Date japanDate =japanCalendar.getTime();
return japanDate;
}
return new Date();
}
}
时间格式:MMM d yyyy —> Dec 12 2017