请在下面找到我的代码,它的作用是将任何 timeZone 的 TimeStamp 值转换为所需的 TimeZone 并为您提供 requiredTimeZone 的日期。它可以正常工作,日期变量正确出现,但我需要 (Date) Datatype 中的值,因此我使用相同的 SimpleDataFormat 对象将其解析回来,但它以不同的格式返回我的值,而不是 SimpleDataFormat Object 中提到的值。
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 转换的,但是为什么 parse 没有以所需的格式返回它,即“dd-MM-yy”。