Java 迄今为止的字符串格式不正确
我试图用Java做一个简单的字符串到日期的转换。我正在从一些日志中略过日期,需要将其转换为日期以进行一些处理。即将到来的日期如下所示:Java 迄今为止的字符串格式不正确,java,date,Java,Date,我试图用Java做一个简单的字符串到日期的转换。我正在从一些日志中略过日期,需要将其转换为日期以进行一些处理。即将到来的日期如下所示: 2012-09-07 19:53:33 String taskStart = "2012-09-07 19:53:33"; String dateFormat = "yyyy-MM-dd hh:MM:ss"; SimpleDateFormat dateFormat=new SimpleDateFormat(format); Date taskStartDa
2012-09-07 19:53:33
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);
在我的代码中,当我试图将其转换为日期对象时,我得到了一个完全不同的日期。我的代码如下所示:
2012-09-07 19:53:33
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
我如何简单地将原始日期转换为正确的格式???根据文档,您应该使用大写字母“H”表示格式为0-23的小时数。此外,分钟由小写字母“m”表示
MM
(一年中的一个月)。表示“分钟”的m必须是小写HH
,以捕获在0-23
范围内指定的小时数,而HH
则需要AM/PM小时数(在1-12
范围内的小时数,并使用AM/PM说明符作为时间字符串的一部分)simpleDataFormat
对象的构造函数中的format
变量。事实上,您使用了变量名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);
尝试将dateFormat定义更改为:
String dateFormat = "yyyy-MM-dd HH:mm:ss";
请注意,在您的时间中,HH应大写表示0-23,mm应小写表示分钟。“yyyy-mm-dd HH:mm:ss”代码>
MM
和MM
分别代表月份和分钟….
所以它应该是
"yyyy-MM-dd HH:mm:ss"
“yyyy-MM-dd hh:MM:ss”代码>我认为您应该使用日期格式设置程序再次将日期输出转换为字符串
格式。格式
功能:
Date formatter=new SimpleDateFormatter("yy-MM-dd HH mm ss")
String s=formatter.format(taskStartDate)
我想有个打字错误,你是说String format=…