[英]How to get the date and the time from XmlGregorianCalendar
我有這個日期的代碼:
public static XMLGregorianCalendar retrieveXMLGregorianCalendar(Date source) {
XMLGregorianCalendar dest = null;
Calendar calendar = Calendar.getInstance();
if (source !=null) {
calendar.setTime(source);
DatatypeFactory datatypeFactory;
try {
datatypeFactory = DatatypeFactory.newInstance();
dest = datatypeFactory.newXMLGregorianCalendarDate(calendar.get(Calendar.YEAR), calendar
.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH), DatatypeConstants.FIELD_UNDEFINED);
dest.setHour(calendar.get(Calendar.HOUR));
dest.setMinute(calendar.get(Calendar.MINUTE));
dest.setSecond(calendar.get(Calendar.SECOND));
} catch (DatatypeConfigurationException e) {
e.printStackTrace();
throw new SoapFaultException("Date Trasfomation Exception");
}
}
return dest;
}
這個小時的代碼:
public static XMLGregorianCalendar retrieveXMLGregorianCalendarTime(Date source) {
XMLGregorianCalendar dest = null;
Calendar calendar = Calendar.getInstance();
if (source !=null) {
calendar.setTime(source);
DatatypeFactory datatypeFactory;
try {
datatypeFactory = DatatypeFactory.newInstance();
dest = datatypeFactory.newXMLGregorianCalendarTime(calendar.get(Calendar.HOUR_OF_DAY), calendar
.get(Calendar.MINUTE) + 1, calendar.get(Calendar.SECOND), DatatypeConstants.FIELD_UNDEFINED);
dest.setYear(calendar.get(Calendar.YEAR));
dest.setMonth(calendar.get(Calendar.MONTH) + 1);
dest.setDay(calendar.get(Calendar.DAY_OF_MONTH));
} catch (DatatypeConfigurationException e) {
e.printStackTrace();
return null;
}
}
return dest;
}
我只想捕獲這樣的日期(dd / MM / YYYY)和類似的小時(hh:mm:ss)。 但是我不知道該怎么抓。 我已經嘗試了好幾次,試圖不趕上日期的小時或分鍾,但是我的日食表示沒有設置分鍾或小時。
格式化日期(字符串):
SimpleDateFormat sdfDate = new SimpleDateFormat("dd.MM.yyyy");
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat sdfDateTime = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
System.out.println(sdfDate.format(source));
System.out.println(sdfTime.format(source));
System.out.println(sdfDateTime.format(source));
該方法返回xmlGregorianCalendar
將其轉換為GregorianCalendar
和
最后使用getTime()
從GregorianCalendar
獲取時間,並使用dd/MM/YYYY HH:mm:ss
SimpleDateFormat
其格式化
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.ENGLISH);
XMLGregorianCalendar xmlGregorianCalendar = retrieveXMLGregorianCalendar(new Date());
Date date = xmlGregorianCalendar.toGregorianCalendar().getTime();
System.out.println(dateFormat.format(date));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.