gpt4 book ai didi

java - 无法使用 AM/PM 标记解析日期时间字符串

转载 作者:太空狗 更新时间:2023-10-29 22:49:56 25 4
gpt4 key购买 nike

我要格式化的字符串如下所示:String datetime = "9/1/10 11:34:35 AM"

SimpleDateFormat 的以下模式有效:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss");
Date d = sdf.parse(datetime);
System.out.println(d);

Output> [Wed Sep 01 11:34:35 CEST 2010]

但是,我还需要解析 AM/PM 标记,当我将其添加到模式时,我会收到异常。

无效的模式:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss a");

我也尝试过同样的异常(exception):

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss aa");

异常(exception):

java.text.ParseException: Unparseable date: "9/1/10 11:34:35 AM"

我已经在 http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#text 查看了 API但似乎找不到我哪里做错了。

有什么建议吗?

最佳答案

一种可能是您的默认 Locale 具有不同的 AM/PM 符号。在构建日期格式时,你应该始终提供一个 Locale,除非你真的想使用系统的默认 Locale,例如:

SimpleDateFormat sdf = new SimpleDateFormat("M/d/yy h:mm:ss a", Locale.US)

关于java - 无法使用 AM/PM 标记解析日期时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com