我想格式化日曆對象以特定格式返回時間。 但是,SimpleDateFormatter忽略了日曆對象的TimeZone和它自己的TimeZone屬性並進行不必要的時間轉換。我的電腦在EST,我正在通過「PST」中的Calendar obj。過去的時間是:1月14日星期二10:28:49,我期待返回值爲「上午10點28分49秒」。但是,返回的值是「07:28:49 AM PST」。爲什麼格式化程序obj設置爲PST時時區計算已完成?另外,如何防止從EST到PST的tz轉換?SimpleDateFormatter似乎忽略TimeZone
下面是代碼:
public static String formatDateToString(Calendar cal) {
if (cal != null) {
TimeZone tz = cal.getTimeZone();
String tzId = tz.getID();**//"PST"**
Date date = cal.getTime();
String str = date.toString();**//"Tue Jan 14 10:28:49 EST 2014"**
final SimpleDateFormat sdFormatter = new SimpleDateFormat("hh:mm:ss a zzz");
sdFormatter.setTimeZone(TimeZone.getTimeZone(tzId));
String calStr = sdFormatter.format(cal.getTime());**//"07:28:49 AM PST"**
return calStr;
}
return null;
}
我想知道的是如何防止從EST到PST的tz轉換? – Neeraj
@Neeraj查看我的評論。也許我誤解了你的擔憂。 –