以下のコードを見つけてください。それは、任意の timeZone の TimeStamp 値を取り、必要な TimeZone に変換し、 requiredTime Zone の Date を提供します。日付変数は正しく機能しますが、(Date) Datatype の値が必要なので、同じ SimpleDataFormat オブジェクトを使用して解析していますが、 SimpleDataFormat Object で言及されているものとは異なる Format の値を返します。
private Date getDateOfTimeZone(Timestamp timeStamp, String timeZoneCode)
throws ParseException {
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yy");
DATE_FORMAT.setTimeZone(TimeZone.getTimeZone(timeZoneCode));
String date = DATE_FORMAT.format(timeStamp);
return DATE_FORMAT.parse(date);
}
Input Varibles : TimeStamp : 2013-11-01 16:19:37.0 , TimeZone : "IST"
Date value is coming as : 02-11-13 (Correct)
But Parse() is returning me : Fri Nov 01 14:30:00 EDT 2013.
日付が timeZone に従って変換されていることがわかりますが、解析が必要な形式、つまり「dd-MM-yy」で返されないのはなぜですか。