我正在努力进行以下日期转换。
原始日期:1月2日0001 18:00 GMT-5:00。
预计日期:1月3日上午7:00 GMT + 8:00 实际日期:1月5日0001 GM 00T + 8:00 AM。
public static void main(String[] args) {
XMLGregorianCalendar xmlC;
try {
xmlC = DatatypeFactory.newInstance().newXMLGregorianCalendar();
xmlC.setYear(1);
xmlC.setMonth(1);
xmlC.setDay(2); // It is Jan 2!!
xmlC.setHour(18);
xmlC.setMinute(0);
xmlC.setSecond(0);
xmlC.setMillisecond(0);
xmlC.setTimezone(-300);
GregorianCalendar gC = xmlC.toGregorianCalendar();
System.out.println(gC.getTime()); // Actual output: Wed Jan 05 07:00:00 CST 1
} catch (DatatypeConfigurationException e) {
e.printStackTrace();
}
}
请你帮帮我吗?提前谢谢。
答案 0 :(得分:5)
正如this answer中所述,您的日历正在转移,因为您已将年份指定为1
,这意味着它已超出GregorianCalendar
并进入朱利安日历,{ {1}}不支持。
只需使用XMLGregorianCalendar
来解决此问题。
答案 1 :(得分:0)
在您的代码中尝试此操作
#out1 {
width: calc(100% - 150px);
font-style: normal;
font-weight: bold;
font-size: 28px;
white-space: pre-wrap;
background-color: gray;
padding: 25px;
border: 25px solid navy;
margin-left: auto;
margin-right: auto;
box-shadow: 0 8px 16px white;
}