将XMLGregorianCalendar转换为java.sql.Timestamp

elc*_*dro 12 java timestamp date gregorian-calendar

我正在尝试将XMLGregorianCalendar日期分配给java.sql.Timestamp var,就像这样......

var1.setTimeStamp(Timestamp.valueOf(var2.getXMLGregorianCalendar().toString()))
Run Code Online (Sandbox Code Playgroud)

但显然,这不起作用,抛出异常......

java.lang.IllegalArgumentException:时间戳格式必须为yyyy-mm-dd hh:mm:ss [.fffffffff]

我也尝试过这个:

var1.setTimeStamp((Timestamp) var2.getXMLGregorianCalendar().getTime())
Run Code Online (Sandbox Code Playgroud)

但...

java.lang.ClassCastException:java.util.Date无法强制转换为java.sql.Timestamp

有任何想法吗..?谢谢!

elc*_*dro 20

我找到了答案:

    Timestamp timestamp = new Timestamp(var2.getXMLGregorianCalendar().toGregorianCalendar().getTimeInMillis());
    var1.setTimeStamp(timestamp);
Run Code Online (Sandbox Code Playgroud)