【问题标题】:How to convert Date String to DateTime in Java?如何在 Java 中将日期字符串转换为日期时间?
【发布时间】:2015-11-24 02:00:44
【问题描述】:

我有一个包含日期字符串列的 CSV 文件。我想将 CSV 数据花到 mysql 中。

在 CSV 中有一个 String:"Sun Oct 05 20:59:57 BRT 2014" 我想转换为 DateTime

我该怎么做?

【问题讨论】:

  • 您指的是 Joda DateTime 还是 Java 8 LocalDateTime
  • 我有一个带有日期字符串列的 csv 文件。我想把csv数据花到mysql中。
  • 您的问题是DateTime,但Java 没有带有名称的内置类。 Joda Time 库中有一个具有该名称的类。你的意思是说“日期时间”,还是你问的是内置的java.util.Date,还是更新的java.time.LocalDateTime
  • 在mysql中有datetime类型,我只需要将字符串传递给兼容的格式。
  • 所以您想将 CSV 文件中的给定字符串解析为 java.sql.Timestamp,以便在 PreparedStatement.setTimestamp() 调用中使用它,对吧? --- 请详细说明问题。

标签: java date datetime type-conversion


【解决方案1】:

你应该使用这个DateTimeFormat

EEE MMM dd HH:mm:ss z yyyy

现在你应该这样做:

String string = "Sun Oct 05 20:59:57 BRT 2014";
DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE MMM dd HH:mm:ss z yyyy");
Date dt = formatter.parse(string);         //if you want to use DateTime do it DateTime dt = formatter.parse(string);
System.out.println(" Date " + datetime.toString());

编辑

首先包括那些导入:

import java.sql.Timestamp;
import java.text.SimpleDateFormat;

那么你的代码应该如下所示:

String string = "Sun Oct 05 20:59:57 BRT 2014";
SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
java.sql.Timestamp datetime = new Timestamp(formatter.parse(string).getTime());
System.out.println("DateTime: " + datetime.toString());

要使用DateTime,您应该检查此Question

【讨论】:

  • 这就是我需要的。但我无法导入 DateTimeFormat 和 DateTime。你在用 Joda 吗?
  • 是的,我在您发表评论之前看到并修复了它:P
  • 但现在我的回答没问题?
  • @RogerRubens 检查我的答案:)
【解决方案2】:

试试DateTimeFormat

DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE MMM dd HH:mm:ss z yyyy");
DateTime dt = formatter.parseDateTime(string);

Here 是类似的问题。

【讨论】:

    【解决方案3】:

    你应该使用这个代码:

    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy   HH:mm:ss");
    
    DateTime dt = formatter.parseDateTime(string);
    

    【讨论】:

    • 格式字符串与问题字符串不匹配。
    猜你喜欢
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 2015-08-17
    相关资源
    最近更新 更多