从 Android Lollipop 上的字符串解析日期

Parse date from string on Android Lollipop

我有一个像 2021-02-20 12:24:10 这样的日期字符串,我需要将它解析为 Date。我有适用于 Nougat (API 24) 及更高版本的解决方案,但我需要适用于 Lollipop (API 21) 的解决方案。牛轧糖的解决方案如下

val parser = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
val entryDate: Date = parser.parse(ticketResponse.entryDate)

我尝试使用 DateFormat,但是当我尝试解析我的日期时我得到 ParseException

val entryDate: Date = DateFormat.getInstance().parse(ticketResponse.entryDate)

我知道这是因为我的输入字符串不是日期的标准表示,但我不能轻易更改它,我从服务器获取了这个日期。我也没有找到为 SimpleDateFormat.

设置输入日期模式的方法

奇怪老问题里哪里没有答案,所有答案都推荐用SimpleDateFormat。当然我可以用分隔符分割日期,但我想使用不那么大胆的方法。

如果您没有注意到有两个 SimpleDateFormat 类 具有不同的包:java.text.SimpleDateFormat;android.icu.text.SimpleDateFormat; 请尝试使用第一个添加到 api level 1 chek this link 中的第一个: https://www.datetimeformatter.com/how-to-format-date-time-in-kotlin/