【问题标题】:How to to set the calendar start date and end date in java.util.Calendar如何在 java.util.Calendar 中设置日历开始日期和结束日期
【发布时间】:2014-12-05 13:55:27
【问题描述】:

有没有办法在 java.util.Calendar 中设置日历开始日期和结束日期。 例如,默认情况下,java.util.Calendar 的开始日期是 1 月 1 日,日历结束日期是 12 月 31 日。我有一些具体情况,我希望日历从 1 月 5 日开始,到 12 月 28 日结束。

即使这可以在 java 中使用其他一些日期时间库,那么它对我也有用。 任何想法/建议如何设置日历的开始日期和结束日期。

【问题讨论】:

    标签: java calendar jodatime


    【解决方案1】:

    正如文档所说,java.util.Calendar 类用于转换特定时刻,而不是表示时间跨度。实际上,与 Java 捆绑在一起的旧日期时间类(例如 java.util.Date 和 .Calendar)缺少任何时间跨度的表示。

    此外,这些类是出了名的麻烦和混乱,在设计和实现上都有缺陷。避开他们。使用 Joda-Time 或 Java 8 中内置的新 java.time 包(受 Joda-Time 启发,由 JSR 310 定义)。

    Joda-Time 提供了多种定义时间跨度的方法:间隔、周期和持续时间。

    DateTimeZone timeZone = DateTimeZone.forID( "America/Montreal" );
    DateTime start = new DateTime( 2014, 1, 5, 0, 0, 0, timeZone );
    DateTime stop = new DateTime( 2014, 12, 28, 0 , 0, 0, timeZone );
    Interval interval = new Interval( start, stop );
    boolean containsNow = interval.contains( DateTime.now() );
    

    【讨论】:

      猜你喜欢
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      相关资源
      最近更新 更多