当前位置: 首页 > 知识库问答 >
问题:

使用SimpleDataFormat将字符串转换为日期会返回错误的格式[重复]

焦宁
2023-03-14

我有一个Strings日期,格式如下05-10-2020

我想将此字符串转换为以下格式的日期,以便在下面的Sqlite db查询中使用它

SimpleDateFormat simpledateformat = new SimpleDateFormat("dd-MM-yyyy");
String s = app.getDate(); // returns "05-10-2020"
Date date = simpledateformat.parse(s);
String selectQuery = "SELECT * FROM User Where Date !=" + date;

但是date是以下格式返回日期Mon Oct05 00:00:00GMT 03:00 2020

共有3个答案

谢正初
2023-03-14

它将提供精益解决方案。您可以根据您的代码动态调整它。

String dateStr = "Mon Oct 05 00:00:00 GMT+03:00 2020";
 
DateFormat formatOne= new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
DateFormat formatSecond= new SimpleDateFormat("dd-MM-yyyy");
System.out.println(formatSecond.format(formatOne.parse(dateStr)));

您可以在项目的相关位置使用它。

演示

吴涵育
2023-03-14

您应该使用准备好的语句进行RDBMS工作。从第三行开始,尝试:

PreparedStatement selectQuery=connectionObj。prepareStatement(“SELECT*FROM User Where Date!=?”);

选择Query。setDate(1,日期);

结果集res=selectQuery.execute查询();

res.next();

//随心所欲地操作结果集

贲文景
2023-03-14

您应该将PreparedStatement与LocalDate一起使用,如下所示:

LocalDate ld = LocalDate.parse(app.getDate(),DateTimeFormatter.ofPattern("dd-MM-uuuu"));
String selectQuery = "SELECT * FROM User Where Date != ?";
try (PreparedStatement ps = con.prepareStatement(selectQuery)) {
    ps.setObject (1, ld);
    // ...
} catch (SQLException e) {
    e.printStackTrace();
}
 类似资料:
  • 我需要将一些字符串日期转换为另一种格式的字符串日期 我想按照“yyyy-MM-dd'T'HH:MM:ss.SSSXX”模式获得ISO-8601格式的结果日期字符串 你能帮我实现这个吗?

  • 问题内容: 我对以下行为感到非常困惑。我从一个方法返回2日期作为字符串: 我添加了一个屏幕截图,显示返回的日期分别为“ 2018-06-20 00:00:00”和“ 2018-06-24 00:00:00”,并保留了调试跟踪以显示 值。 我只是想将日期转换为20180620格式。 方法: …接受字符串值 我不明白“ 2017年12月6日星期三00:00:00 GMT”的日期是哪里 ?这是最终 作为

  • 我刚到爪哇。Postgres db包含日期的格式为。我需要转换为。 我已经试过了,但是显示的结果是错误的

  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。

  • 我得到一串零。有人能帮忙吗?

  • 我在presto上,把日期格式化为varchar,看起来像- 我如何转换这个?