【问题标题】:Extract Date from Zulu Time using Joda Time使用 Joda Time 从 Zulu 时间中提取日期
【发布时间】:2021-01-31 07:24:02
【问题描述】:

我有一个祖鲁时间“2011-08-12T20:17:46.384Z”。如何使用 java joda time 提取日期部分? 我已阅读有关 Zulu Time 的多个问题,但没有人回答我的问题。

【问题讨论】:

标签: java jodatime


【解决方案1】:

您想要使用您自己的时区还是祖鲁语 (UTC) 的日期?询问是因为它在所有时区都不是同一个日期。

祖鲁时区日期,与字符串中的日期相同,是更简单的要求:

    String zuluString = "2011-08-12T20:17:46.384Z";
    DateTime dt = DateTime.parse(zuluString);
    LocalDate datePart = dt.toLocalDate();
    System.out.println(datePart);

输出:

2011-08-12

在 JVM 的默认时区中获取日期只需要多几个字符:

    LocalDate datePart = dt.withZone(DateTimeZone.getDefault()).toLocalDate();

在亚洲/澳门时区运行时的输出:

2011-08-13

哪些新 API ?

Joda-Time 处于维护模式,不再推荐用于新代码。 Joda-Time 主页说:

请注意,Joda-Time 被认为是一个基本“完成”的项目。 没有计划进行重大改进。如果使用 Java SE 8,请迁移 到java.time (JSR-310)。

java.time 自 Java 8 开始内置于 Java 中,并且也已向后移植到 Java 6 和 7。您可以从下面的第二个链接开始。

链接

【讨论】:

    【解决方案2】:

    我建议你切换到modern date-time API。

    使用现代java.time (JSR-310) API:

    import java.time.LocalDate;
    import java.time.OffsetDateTime;
    
    public class Main {
        public static void main(String[] args) {
            OffsetDateTime odt = OffsetDateTime.parse("2011-08-12T20:17:46.384Z");
            System.out.println(odt);
    
            LocalDate date = odt.toLocalDate();
            System.out.println(date);
        }
    }
    

    输出:

    2011-08-12T20:17:46.384Z
    2011-08-12
    

    通过 Trail: Date Time 了解有关现代日期时间 API 的更多信息。

    查看home page of Joda-Time documentation 中的以下行:

    Joda-Time 是 Java 的事实上的标准日期和时间库 在 Java SE 8 之前。现在要求用户迁移到 java.time (JSR-310)。

    使用 Joda-Time API:

    import org.joda.time.DateTime;
    import org.joda.time.LocalDate;
    
    public class Main {
        public static void main(String[] args) {
            DateTime dateTime = DateTime.parse("2011-08-12T20:17:46.384Z");
            System.out.println(dateTime);
    
            LocalDate date = dateTime.toLocalDate();
            System.out.println(date);
        }
    }
    

    输出:

    2011-08-12T20:17:46.384Z
    2011-08-12
    

    【讨论】:

      猜你喜欢
      • 2014-03-24
      • 1970-01-01
      • 2017-11-28
      • 2017-04-14
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      相关资源
      最近更新 更多