0
我需要在「EDT」時區中獲取當前時間。我獲得了當前時間並將其格式化爲「EDT」,我正在按照我的意願得到時間。但是當我試圖在「EDT」時區解析日期時,我仍然在解析日期後以「IST」格式獲取時間。我不知道我做錯了什麼。在Java中將時區轉換爲「EDT」
Date date = new Date();
String format = "MM/dd/yyyy hh:mm:ss Z";
DateFormat formatter = new SimpleDateFormat(format);
formatter.setTimeZone(TimeZone.getTimeZone("America/New_York"));
String dateString = formatter.format(date);
System.out.println(dateString);
try { System.out.println(formatter.parse(dateString));
}
catch (ParseException e) {
e.printStackTrace();
}
EDT不是時區。它是東部時區的一部分,但一年中大部分時間都沒有生效。男人的問題是,你仍然打印'Date.toString',它總是*使用系統默認時區。 「日期」值*沒有時區*。 –
Calendar instance = Calendar.getInstance(TimeZone.getTimeZone(「America/New_York」)); System.out.println(instance.getTimeZone()); System.out.println(instance.getTime()); **輸出:**東部標準時間 星期一七月01 18:02:10 IST 2013 – Sarath
正常「東部標準時間」是'TimeZone.toString()'的結果。 IST部分由我以前的評論解釋。 –