以下是引发异常的代码段:
SimpleDateformat dateFormatter = new SimpleDateFormat("yyyyMMddHHmm");
Date date = dateFormatter.parse("201710010200");
上面的html" target="_blank">代码在2:00 AM之后的所有日期均抛出异常,它一直运行到01:30 AM
已配置夏令时(我正在使用Australia/Sydney
时区)。
之后,我可能会看到3:00 AM的日志也没有记录在2:00 AM和3:00 AM之间的时间。
日志:
10月01日03:02:01错误:无法解析的日期:“ 201710010200”
引起原因:java.text.ParseException:无法解析的日期:java.text.DateFormat.parse(DateFormat.java:357)处的“
201710010200”
"201710010200"
指定正确的日期格式后,无法解析日期字符串的问题的解决方法是什么?
您正在尝试解析未发生的日期/时间。
现在我们知道这是在悉尼时区。2017年10月1日在悉尼,凌晨2时。如果您每分钟都在看时钟,则会看到:
因此,凌晨2点(含)至3点(不含)之间的任何日期/时间都根本没有在该时区中发生。我们不知道是什么产生了您要解析的值,但是:
java.time
程序包并将其解析为LocalDateTime
值问题内容: 我收到以下错误:“ java.text.ParseException:无法解析的日期:“ 2011年8月31日09:53:19””具有以下格式: 有人看到这个问题吗? 问题答案: 确保您使用正确的语言环境。(构造函数使用 系统默认的语言环境 ,它可能不是您要使用的 语言环境 。) 这在我的机器上工作正常: (例如,使用时会产生。)
问题内容: 我只是尝试解析一个简单的时间!这是我的代码: 我收到此异常: 问题答案: 这有效: 输出:
w/system.err:java.text.ParseException:不可解析日期:“24 Oct 2016 7:31 PM”(偏移量3)w/system.err:java.text.DateFormat.Parse(DateFormat.java:579) 有解决办法吗?
问题内容: 如果能找到有关此异常的错误的帮助,我将不胜感激: 和以下代码: 它用引发异常。 ,作为例外。 谢谢。 问题答案: 代表时区字符。需要引用:
问题内容: 我正在获取以下代码 如果我注释掉该行,那么我会在输出中看到时差 我究竟做错了什么?? 问题答案: “ S”为毫秒。每秒有1000毫秒(0到999)。389362大于999。多余的389000毫秒将转换为389秒或6分29秒,并添加到时间中。
问题内容: 我想将日期解析为所需的格式,但是每次都会收到异常。我知道这很容易实现,但是我遇到了一些问题,不知道确切的位置: 以下是我的代码: 方法输入:2014-06-04 问题答案: 您的字符串中没有时间部分:月份仅替换两个字符 与