Java SimpleDataFormat分析未以所需格式返回日期
请找到我下面的代码,它的作用是获取任何时区的时间戳值,将其转换为所需时区,并给出所需时区的日期。它可以工作日期变量是正确的,但我需要(日期)数据类型中的值,所以我使用相同的SimpleDataFormat对象解析它,但它返回给我一个不同格式的值,而不是SimpleDataFormat对象中提到的值Java SimpleDataFormat分析未以所需格式返回日期,java,simpledateformat,Java,Simpledateformat,请找到我下面的代码,它的作用是获取任何时区的时间戳值,将其转换为所需时区,并给出所需时区的日期。它可以工作日期变量是正确的,但我需要(日期)数据类型中的值,所以我使用相同的SimpleDataFormat对象解析它,但它返回给我一个不同格式的值,而不是SimpleDataFormat对象中提到的值 private Date getDateOfTimeZone(Timestamp timeStamp, String timeZoneCode) throws ParseExcepti
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.
我可以看到日期是根据时区转换的,但是为什么parse没有以所需的格式返回它,即“dd-MM-yy”。parse方法返回一个日期 当您打印
日期
时,您将从toString()
方法获得输出,这就是您看到的(2013年11月1日星期五14:30:00 EDT)
要以您想要的格式打印,您可以使用
格式
方法将其转换为字符串,然后打印。解析方法返回日期
当您打印日期
时,您将从toString()
方法获得输出,这就是您看到的(2013年11月1日星期五14:30:00 EDT)
要以您想要的格式打印,您可以使用
格式
方法将其转换为字符串,然后打印。只需打印“日期”。不要再解析它,只需打印“日期”。不要再解析它了。我知道了,但我需要格式化(日期)数据中的字符串Type@Suraj对不起,但是;什么?日期是一种数据类型;格式是字符串
。你刚才写的东西毫无意义。如果需要字符串
,请使用字符串
@Suraj Date is container表示自Unix纪元以来的毫秒数,它本身没有格式,需要时默认为本地格式。您可以使用DateFormatter
生成Date
的不同格式的字符串
s,但它们不是日期
@MadProgrammer哦,好的,我知道了。。我的想法完全错了,明白了。谢谢澄清。是的,我知道了,但我需要格式化(日期)数据中的字符串Type@Suraj对不起,但是;什么?日期是一种数据类型;格式是字符串
。你刚才写的东西毫无意义。如果需要字符串
,请使用字符串
@Suraj Date is container表示自Unix纪元以来的毫秒数,它本身没有格式,需要时默认为本地格式。您可以使用DateFormatter
生成Date
的不同格式的字符串
s,但它们不是日期
@MadProgrammer哦,好的,我知道了。。我的想法完全错了,明白了。谢谢你的澄清。