我在UI中使用以下格式的日期。

Eg: Thu. 03/01

我将它们转换为XMLGregorianCalendar,如下所述。
final DateFormat format = new SimpleDateFormat("E. M/d");
final String dateStr = closeDate;
final Date dDate = format.parse(dateStr);

GregorianCalendar gregory = new GregorianCalendar();
gregory.setTime(dDate);

XMLGregorianCalendar dealCloseDate = DatatypeFactory.newInstance()
.newXMLGregorianCalendar(gregory);

我的输出是“3/06/70 05:00 AM”,而不是“3/06/2011 05:00 AM”。获得适当年份需要多少钱。

最佳答案

您没有提及有关在此日期转换中应如何表示年份的任何信息,但是这里有一些伪代码可以帮助您入门。请注意,在此示例中,我没有明确处理时区:

final DateFormat format = new SimpleDateFormat("E. M/d");
final String dateStr = "Thu. 03/01";
final Date date = format.parse(dateStr);

GregorianCalendar gregory = new GregorianCalendar();
gregory.setTime(date);

XMLGregorianCalendar calendar = DatatypeFactory.newInstance()
        .newXMLGregorianCalendar(
            gregory);

08-18 05:30