【发布时间】:2020-01-11 03:37:36
【问题描述】:
需要使用 xmlgregoriancalendar 类型将日期完全打印为“9999-99-99”。 当我通过“9999-99-99”时,我得到错误的输出:10007-07-08。我如何获得与 9999-99-99 完全相同的输出
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeFactory;
public class XMLGregorianCalendar {
public static void main(String[] args) {
/* Create Date Object */
//Date date = new Date();
javax.xml.datatype.XMLGregorianCalendar xmlDate = null;
//GregorianCalendar gc = new GregorianCalendar(2001,12,12);
GregorianCalendar gc = new GregorianCalendar(9999,99,99);
// gc.setTime(date);
try{
xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
}catch(Exception e){
e.printStackTrace();
}
System.out.println("XMLGregorianCalendar :- " + xmlDate);
}
}
【问题讨论】:
-
但是为什么呢? ..... 99 不是有效月份,也不是任何月份的有效日期。不要使用日历,只使用字符串格式
-
或使用 12-31 作为任何类型的“最大”日期的月日
-
你不能。这不是一个有效的日期,所以
XMLGregorianCalendar不会接受它。