java - 迄今为止的字符串格式不正确

标签 java date

我正在尝试用 Java 进行简单的字符串到日期的转换。我正在从一些日志中略读日期,需要将其转换为日期以进行一些处理。出现的日期将如下所示:

2012-09-07 19:53:33

在我的代码中,当我尝试将其转换为 Date 对象时,我得到了一个完全不同的日期。我的代码如下所示:

String taskStart = "2012-09-07 19:53:33";  
String dateFormat = "yyyy-MM-dd hh:MM:ss";
SimpleDateFormat dateFormat=new SimpleDateFormat(format);
Date taskStartDate = dateFormat.parse(taskStart); 

我得到的输出是这样的:

Sat May 07 19:00:27 PDT 2016

如何简单地将原始日期转换为正确的格式?

最佳答案

  1. 您已指定MM (一年中的一个月)两次。 “分钟”的 m 必须小写。
  2. 如果您采用 24 小时制时间,则需要指定 HH为了捕获 0-23 范围内指定的小时数,而不是 hh预计 AM/PM 小时(1-12 范围内的小时,其中 AM/PM 说明符作为时间字符串的一部分)
  3. 最后,您的示例代码没有定义 format您传递给 SimpleDateFormat 的构造函数的变量目的。事实上,您使用的是变量名称 dateFormat两次并且没有定义 format完全可变 - 至少不是根据您在问题中包含的代码。

所以,我相信你正确的格式字符串应该是......

"yyyy-MM-dd HH:mm:ss"

...完整、正确的代码示例是:

String taskStart = "2012-09-07 19:53:33";  
String format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat dateFormat=new SimpleDateFormat(format);
Date taskStartDate = dateFormat.parse(taskStart); 

关于java - 迄今为止的字符串格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12324663/

相关文章:

javascript - 将天数添加到日期格式 yyyy-mm-dd

PHP:两个日期之间的天数列表

Java Basepeer - 获取最后插入记录的 ID

java - 在 Web 应用程序中不使用 JavaScript 或 JQuery 时防止多次提交按钮点击?

java - 使用 * 语法添加组件

date - Kibana:根据匹配ID的最小和最大日期汇总过滤结果

ruby-on-rails - 在 Rails 中将日期格式化为单词

java - 数据库和 Web 应用程序之间的日期不一致

java - Apache Tomcat 重新启动。无法加载 com.mysql.jdbc.SQLError

java - 使用 Plastic 框架进行代码生成时出现棘手的 ClassCastException