java - Scala 日期格式问题

标签 java scala scala-2.8

我有代码片段,它在 scala 和 java 中提供不同的输出。我想要与 Java 中相同的输出,请任何人指导。

Java 输出:2012-12-13T10:36:38
Scala 中的输出: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());
    }
}

最佳答案

也许您应该更改时区

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]

关于java - Scala 日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13854381/

相关文章:

Java-将完成的线程对象分配给新线程

java - 使用 Selenium 从弹出窗口中提取文本

memory - Actor 邮箱溢出。斯卡拉

scala - 如何定义扩展此特征的任何内容

java - 使用逗号进行基本编程

java - 为什么java不支持像C++这样的引用传递

scala - 如何在 Scala 中为泛型类型提供默认类型类?

scala - 猫 EitherT 和效果的匹配器

Scala 实现类似 C# 的 yield ,值为 "for"

scala - 为什么 IDEA 10 中的控制台会以 "tools is not a member of package scala"失败?