我正在调用一个Web服务,它接受日期格式为"07/23/2015T00:00:00Z"
的Xmlgregoriancalendar,但我目前从我的数据库中获取的是"2015-23-07T00:00:00Z"
。
如何转换
类型的XMLGregorianCalender
字符串类型
"MM/dd/yyyy'T'HH:mm:ss.SSS'Z'"
由于该服务由某些第三方托管,因此我无法更改架构并需要实施此转换。
我试过这个
Date d = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd'T'HH:mm:ss.SSS'Z'");
String formattedDate1 = sdf1.format(d);
Date date = sdf1.parse(formattedDate1);
GregorianCalendar gregorianCalendar;
XMLGregorianCalendar result = null;
gregorianCalendar = (GregorianCalendar)GregorianCalendar.getInstance();
gregorianCalendar.setTime(date);
result = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar);
答案 0 :(得分:1)
java.text.DateFormat outputFormat =new java.text.SimpleDateFormat("MM/dd/yyyy'T'HH:mm:ss'Z'");
java.text.DateFormat outputFormat1 =new java.text.SimpleDateFormat("yyyy-dd-MM'T'HH:mm:ss'Z'");
System.out.println(outputFormat.format(outputFormat1.parse("2015-23-07T00:00:00Z")));//07/23/2015T00:00:00Z
答案 1 :(得分:0)
您可以使用SimpleDateFormat
执行此操作。
从数据库中抓取字符串,查找并替换" - "用" \"然后将String解析为Date。实际上,SimpleDateFormat
会接受"MM-dd-yyyy'T'HH:mm:ss.SSS'Z'"
类型以及"MM/dd/yyyy'T'HH:mm:ss.SSS'Z'"
,您可以对其进行一些计算。