首页 > Java > java教程 > 为什么 SimpleDateFormat 无法解析 \'YYYY-MM-dd HH:mm\' 尽管有 `setLenient(false)`?

为什么 SimpleDateFormat 无法解析 \'YYYY-MM-dd HH:mm\' 尽管有 `setLenient(false)`?

Mary-Kate Olsen
发布: 2024-11-03 06:51:30
原创
580 人浏览过

Why Does SimpleDateFormat Fail to Parse

SimpleDateFormat “YYYY-MM-dd HH:mm”的日期解析不正确

问题:

使用 SimpleDateFormat,尝试将“YYYY-MM-dd HH:mm”格式的字符串解析为日期会产生错误的日​​期。尽管设置了setLenient(false),结果仍然不准确。造成这种差异的原因是什么?

A:

问题在于使用的格式字符串:“YYYY-MM-dd HH:mm”。解析给定格式的字符串的正确格式字符串应该是“yyyy-MM-dd HH:mm”,其中“yyyy”表示四位数字的年份。

SimpleDateFormat 的文档指定“the日期部分必须采用 JDK 预定义格式之一,时间部分必须采用预定义时间格式之一,并且日期和时间之间的分隔符只能是预定义分隔符之一。”有关更多详细信息,请参阅 SimpleDateFormat 文档。

<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>
登录后复制

通过将格式字符串修改为“yyyy-MM-dd HH:mm”,解析应生成正确的日期和时间。

以上是为什么 SimpleDateFormat 无法解析 \'YYYY-MM-dd HH:mm\' 尽管有 `setLenient(false)`?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板