"yyyyMMdd"という文字列の日付 "20160104"があり、GMT-12タイムゾーンです。DateFormatを解析して、指定したタイムゾーンに文字列の日付を設定する方法
JavaのDateオブジェクトと同じものを解析しようとしています。期待される結果はFastTime = 1451908800000. 2016年1月4日(月曜日)12時00分00秒PM GMT
この
DateFormat gmtMinus12 = new SimpleDateFormat("yyyyMMdd");
gmtMinus12.setTimeZone(TimeZone.getTimeZone("Etc/GMT-12"));
// gmtMinus12.getCalendar().setTimeZone(TimeZone.getTimeZone("Etc/GMT-12"));
gmtMinus12
.setCalendar(Calendar.getInstance(TimeZone.getTimeZone("Etc/GMT-12")));
try {
Date date = gmtMinus12.parse("20160104");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
のようなものを試してみましたが、解析された出力が
あるです
FastTime = 1451822400000です。 2016年1月3日日曜日GMT
どのようにして、DateFormatに割り当てられているタイムゾーンと同じ時間帯になるようにしますか?
ご協力いただきまして誠にありがとうございます。
ありがとうございます。
入力文字列に明示的にタイムゾーンを追加します(および解析パターン) –
異なるタイムゾーンで日付を指定すると、結果がUTCの午前0時になるのはなぜですか?基本的に、Etc/GMT-12の2016年1月4日月曜日は、既に取得している値から始まります。 –
申し訳ありませんが、私は期待した結果を編集しました。 GMT-12の 20160104 00:00 (ハワイを仮定すると)20160104 12:00 PMのロンドンになる可能性があるので、結果は2016年1月4日月曜日になると予想しています12:00:00 PM GMT – wamsea