Java String to Date,DateFormat 不工作

标签 java date-format

我在将以下格式的字符串转换为日期时遇到了一些困难。不断抛出 ParseException。

字符串:2015-11-14 17:29:16.543934

我已经环顾四周了,特别是这个链接:Java string to date conversion , 但没有任何运气。

这是我的方法目前的样子:

private Date parseTime(String input) {
    // input format: 2015-11-14 17:29:16.543934
    try {
        DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssSSSSSS");
        Date date = format.parse(input);
        return date;
    } catch (ParseException e) {
        System.out.println("Could not parse time. ID: " + this.id);
    }
    return null;
}

编辑:

关于我在下面给出的答案(说明我在秒和毫秒之间漏掉了一个“.”)Jon Skeet 有一个很好的观点: “这仍然不会像您期望的那样工作。它会将您的输入视为具有 543934 毫秒......因此它将解析为 17:38:19。”

我实际上不需要这种级别的精度,所以我只是要切断毫秒,但如果有人知道如何保持小数点后 6 位的精度,我很想知道如何做。

最佳答案

您在字符串格式中遗漏了点:

ss.SSSSSS

必须是:

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");

关于Java String to Date,DateFormat 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180649/

相关文章:

MySQL:STR_TO_DATE 与 YYWW

安卓日历 View : How do I get the date in correct format?

java - 为什么 "2012-30-03"用 DateFormat 解析为 June 3 2014?

java - 我可以在 Java 中通过引用传递原始类型吗?

iphone - 将字符串转换为 NSDate 对象

java - 在javascript中传递当前系统时间

java - 需要将字节数组转换为图像而不使用 imageIO 或 fileoutputstream

java - 安卓 : How to change color of Drawable selector programmatically depends on condition?

java - Map<Object> 中的 <Object> 是什么意思?

java - 有没有更好的方法来短路 instanceof 链?