问题:
使用 SimpleDateFormat 时解析日期,你可能会遇到错误“java.text.ParseException:无法解析日期”,尤其是在未指定区域设置时。
说明:
SimpleDateFormat 需要区域设置才能正确解析日期。如果未指定,则使用系统的默认语言环境,该语言环境可能与正在解析的格式不匹配。
解决方案:
SimpleDateFormat dtfmt = new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.ENGLISH);
使用 DateTimeFormatter 的演示:
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; public class Main { public static void main(String[] args) { String strDateTime = "24 Oct 2016 7:31 pm"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a").withLocale(Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); // prints 2016-10-24T19:31 } }
注意:
以上是为什么 SimpleDateFormat 会抛出'无法解析的日期”?的详细内容。更多信息请关注PHP中文网其他相关文章!