我有一个 XML Jaxb 类来设置 XMLGregorianCalendar 类型。但是我们应该在这个属性中只设置年份。
XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(new
GregorianCalendar());
xmlCal.setYear(2021);
xmlObject.setBuiltYear(xmlCal);
// xmlCal.getYear() will give me year but its type int , so setter method not accepting it. If
has to be of type XMLGregorianCalendar only with year.
如果我像上面那样设置它,它给出 2021-09-23T10:19:38.346-04:00
但我只需要类型为 XMLGregorianCalendar 的年份。我们如何做到这一点?
最佳答案
使用XMLGregorianCalendar#clear
在设置年份之前。
演示:
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
public class Main {
public static void main(String[] args) throws DatatypeConfigurationException {
XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
xmlCal.clear();
xmlCal.setYear(2021);
System.out.println(xmlCal);
}
}
输出:
2021
关于java - 如何只获得类型为 XMLGregorianCalendar 的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69301998/