SimpleDateFormat Parse未以所需格式返回Date

时间:2013-11-01 20:26:03

标签: java simpledateformat

请找到我的下面的代码什么是任何时间的TimeStamp值将它转换为所需的TimeZone,并为您提供requiredTime Zone的日期。它正常工作日期变量,但我需要(日期)数据类型中的值,所以我使用相同的SimpleDataFormat对象解析它,但它返回一个不同格式的值,而不是SimpleDataFormat对象中提到的值。

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”。

1 个答案:

答案 0 :(得分:5)

parse方法返回日期。

当您打印Date时,您将获得toString()方法的输出,这是您所看到的(2013年12月1日星期五14:30:00)

要以您希望的格式打印它,您可以使用format方法将其转换为字符串,然后将其打印出来。