使用 SimpleDateFormat 解析日期格式的字符串
使用 SimpleDateFormat 解析日期字符串时,遵守正确的日期和时间模式至关重要。一个常见的陷阱是使用“mm”而不是“MM”。
考虑以下代码:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str); System.out.println(" Date " + date.toString());
这里,我们打算解析字符串“2010-06” -13T00:00:00”为 2010 年 6 月 13 日。但是,输出显示“Wed Jan 13 2010 年东部标准时间 00:00:00”。出现这种情况是因为 SimpleDateFormat 对象中指定的日期格式使用“mm”表示月份。
要解决此问题,我们需要将“mm”替换为“MM”来表示月份。更正后的代码如下:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); ...
通过此修改,代码可以正确地将输入字符串解析为“Wed Jun 13 00:00:00 EST 2010”。请记住,SimpleDateFormat 模式中的大写“MM”代表月份,而“mm”代表分钟。
以上是为什么使用'mm”而不是'MM”时我的 SimpleDateFormat 解析失败?的详细内容。更多信息请关注PHP中文网其他相关文章!