gpt4 book ai didi

java - 将字符串转换为日期

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:43 25 4
gpt4 key购买 nike

我有一个这种格式的日期(Thu Feb 11 00:00:00 GMT 530 2016),它是一个字符串,我想将其转换为简单的日期格式(dd/mm/yyyy)。

我使用了以下代码,但它不起作用:

 SimpleDateFormat fmt123 = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
refDt = fmt123.parse(refDate);
logger.log(Level.SEVERE, "date after parsing "+refDt);
}
catch (ParseException e1) {
e1.printStackTrace();
}

它给我的结果是:Tue Feb 12 00:00:00 UTC 530

如何转换它?

最佳答案

您想要实现的目标是一个两步过程。

第 1 步 - 解析现有字符串

你已经非常接近了,但是正如你所注意到的,530 部分(我猜是毫秒)被解析为年份。

使用以下代码创建用于解析的SimpleDateFormat实例

new SimpleDateFormat("EEE MMM dd HH:mm:ss z SSS yyyy")

第 2 步 - 格式设置

解析日期对象后,您需要将其呈现给用户。通常,您会使用 new SimpleDateFormat("dd/MM/yyyy") 并用它来输出日期。这将使用您的本地计算机设置(例如时区)来进行格式化。通常这就足够了。

但这要复杂得多......

  • 时区 - 相同的时间在不同的时区意味着不同的日期。欧洲/阿姆斯特丹的 2016 年 2 月 11 日凌晨 2 点 是美国/波士顿的 2016 年 2 月 10 日晚上 8 点(如果我错了,请纠正我)。
  • 不同的日历 - 您可能已经对公历、儒略历或中国历感兴趣。如果用不同的日历表示,同一时间点可能有不同的日/月或年。幸运的是,大多数时候我们谈论的是公历......

有一篇非常好的文章Date and time in Java这更详细地描述了复杂性。

关于java - 将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35332276/

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