Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java将xmldate转换为字符串日期,可能是时区问题_Java_Xml_Date_Datetime_Converter - Fatal编程技术网

java将xmldate转换为字符串日期,可能是时区问题

java将xmldate转换为字符串日期,可能是时区问题,java,xml,date,datetime,converter,Java,Xml,Date,Datetime,Converter,我有XML格式的日期 <date>1980-03-07+03:00</date> 但这正在返回06.03.1980。这可能是一个时区问题-我如何获得正确的日期?使用字符串的原因是,这些是我正在编写的webdriver测试。它实际上返回了正确的日期。您的测试数据已损坏,或者您的应用程序中存在错误。但是,如果您确信没有bug并且测试数据没有损坏,您可以通过如下操作手动设置正确的时区: Calendar calendar = DatatypeConverter.parseD

我有XML格式的日期

 <date>1980-03-07+03:00</date>

但这正在返回
06.03.1980
。这可能是一个时区问题-我如何获得正确的日期?使用字符串的原因是,这些是我正在编写的webdriver测试。

它实际上返回了正确的日期。您的测试数据已损坏,或者您的应用程序中存在错误。但是,如果您确信没有bug并且测试数据没有损坏,您可以通过如下操作手动设置正确的时区:

Calendar calendar = DatatypeConverter.parseDate(xmlDate);
calendar.setTimeZone(TimeZone.getDefault());

return new SimpleDateFormat("dd.MM.yyyy").format(new Date(calendar.getTimeInMillis()));

我不太明白这个问题。你是说你想忽略时区,只处理日期、月份和年份?如果这是您想要的,那么也许您应该在“+”字符上拆分-也就是说,您将解析然后格式化
xmlDate.split(\\+”[0]
。如果你能证实这就是你所问的,我会把这句话变成一个答案。
Calendar calendar = DatatypeConverter.parseDate(xmlDate);
calendar.setTimeZone(TimeZone.getDefault());

return new SimpleDateFormat("dd.MM.yyyy").format(new Date(calendar.getTimeInMillis()));