簡體   English   中英

將類型為“ 2015-23-07T00:00:00Z”的字符串轉換為格式為“ 07/23 / 2015T00:00:00Z”的XMLGregorianCalender

[英]Convert String of type “2015-23-07T00:00:00Z” to XMLGregorianCalender of format “07/23/2015T00:00:00Z”

我正在調用一個Web服務,該服務接受日期作為格式為"07/23/2015T00:00:00Z"但是我當前從數據庫中獲得的是"2015-23-07T00:00:00Z"

如何轉換XMLGregorianCalender類型的String類型

"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);
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

您可以使用SimpleDateFormat執行此操作。

從數據庫中獲取字符串,找到“-”並將其替換為“ \\”,然后將String解析為Date。 實際上, SimpleDateFormat會接受"MM-dd-yyyy'T'HH:mm:ss.SSS'Z'"類型以及"MM/dd/yyyy'T'HH:mm:ss.SSS'Z'"和您可以對此進行一些計算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM