Scala日期格式问题
问题描述:
我有在scala和java中给出不同输出的代码片段。我想要和Java一样的输出,请引导任何人。Scala日期格式问题
输出在Java中:2012-12-13T10:36:38
输出斯卡拉:2012-12-13T10:35:38.000+04:00
/**
* Convert the datetime to XMLGregorianCalendar datetime format.
* <br><h6>Example Date format You have to Give is : </h6>
* new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(Calendar.getInstance().getTime()))
* <br>1900-01-01T00:00:00
*/
public static XMLGregorianCalendar stringToXMLGregorianCalendar(String datetime) throws Exception {
try {
if(datetime == null || "".equals(datetime))
return null;
GregorianCalendar gc = (GregorianCalendar) GregorianCalendar.getInstance();
gc.setTime(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(datetime));
return DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
} catch (DatatypeConfigurationException e) {
logger.error(e.fillInStackTrace());
throw new Exception(e.fillInStackTrace());
}
}
答
我已经解决了这个问题请找到解决方案流。
我已经在上面的代码中设置了未定义的时区和毫秒。
xgc.setMillisecond(DatatypeConstants.FIELD_UNDEFINED)
xgc.setTimezone(DatatypeConstants.FIELD_UNDEFINED)
try {
if (datetime == null || "".equals(datetime))
return null
val gc = new GregorianCalendar()
gc.setTime(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(datetime))
val xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc)
xgc.setMillisecond(DatatypeConstants.FIELD_UNDEFINED)
xgc.setTimezone(DatatypeConstants.FIELD_UNDEFINED)
return xgc
} catch {
case e: DatatypeConfigurationException => logger.error(e.fillInStackTrace()); throw new Exception(e.fillInStackTrace())
}
答
也许你应该更改时区
val d = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(java.util.Calendar.getInstance().getTime())
val gc: java.util.GregorianCalendar = classOf[java.util.GregorianCalendar].newInstance().asInstanceOf[java.util.GregorianCalendar]; gc.setTime(new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(d));
gc.getTime
gc.getTimeZone
结果:
res6: java.util.Date = Thu Dec 13 17:21:50 GMT+02:00 2012
res7: java.util.TimeZone = sun.util.calendar.ZoneInfo[id="GMT+02:00",offset=7200000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
+0
嗨谢谢你的答案,但我期待一个具体的结果,我必须传递给其他类,你怎么能看到下面的答案如何处理。 – Azhar
向我们展示你的Scala代码。 – Jesper