java - java simpleDateFormat.parse("Tue, 27 Apr 2021 18:00:00 +0200") 导致 ParseException "unparsable Date" - 为什么?
问题描述
我试图将字符串解析为日期。老实说,它很简单,应该可以马上工作,但显然我太笨了。
这就是我试图解析的内容。
Date mdate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ZZZZ").parse( "Tue, 27 Apr 2021 18:00:00 +0200" );
或相反:
Date mdate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z").parse( "Tue, 27 Apr 2021 18:00:00 +0200" );
它总是导致 ParseException “无法解析的日期”
有人可以戳我的鼻子为什么这不起作用?提前致谢!
编辑: 解决方案:
我在德国机器上,因此无法解析英文格式的字符串。为此,SimpleDateFormat 需要一个 Locale 作为第二个参数。
Date mdate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ZZZZ", Locale.ENGLISH).parse( "Tue, 27 Apr 2021 18:00:00 +0200" );
注意: 不推荐使用 SimpleDateFormat,应将其替换为 DateTimeFormatter。
解决方案
推荐阅读
- python - 如何传递文件中包含的命令行参数并保留该文件的名称?
- r - 将所有参数传递给另一个函数
- flutter - 如何使用 .cer(证书文件)从 Flutter 中的 REST api 获取数据
- r - 麻烦在 R 中进行绘图更新
- ios - 如何在 UIAlertController 中验证电子邮件地址?
- django - 我如何使用 drf 序列化程序将数据序列化为 json
- javascript - 叠加两张不同投影的地图?
- google-cloud-firestore - 离子 3 中的 Firebase.Auth.UserMetadata 变量 a 和 b
- android - AsyncTask 数组创建
- python - 为什么在 PyPy 中从用户输入构建列表并打印其内容比 CPython 慢得多?