【发布时间】:2020-06-01 12:20:19
【问题描述】:
我想将字符串24 May 2020 07:40 AM 转换为日期格式Mon May 24 07:40:55 IST 2020。我尝试使用 Calendar 和 SimpleDateFormatter 但没有找到解决方案。任何帮助表示赞赏。
我希望返回类型为 Date,因为我必须将它与几个 Dates 进行比较。
【问题讨论】:
-
我建议你不要使用
SimpleDateFormat和Calendar。这些类设计不良且过时,尤其是前者,尤其是出了名的麻烦。而是使用来自java.time, the modern Java date and time API 的LocalDateTime和DateTimeFormatter。 -
当
:55和IST不在原始字符串中时,您希望它们来自哪里?还是应该一直是:55和IST? -
LocalDateTime.parse("24 May 2020 07:40 AM", DateTimeFormatter.ofPattern("d MMM uuuu hh:mm a", Locale.ENGLISH)).atZone(ZoneId.of("Europe/Dublin")).format(DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH))产生Sun May 24 07:40:00 IST 2020。请分解成更小的陈述。请注意,多个时区可以打印为IST,因此请选择适合您的时区。 -
欢迎来到 Stack Overflow。当您尝试了某事但没有成功时,如果您在问题中发布您的尝试以及观察到的问题(例如错误消息),您通常会发现这里的人承认您的努力并且更加友好并且更愿意提供帮助。此外,当我们发现您出了什么问题时,我们可以更好地了解您的情况并写出更好的答案。
-
@OleV.V.您的解决方案是以所需格式打印所需的日期,但我希望返回类型为日期,因为我必须将它与几个日期进行比较。您的解决方案是以字符串格式返回它。
标签: java date datetime date-format date-formatting