【问题标题】:Data type for storing a date prior to 1970-01-01 [duplicate]用于存储 1970-01-01 之前的日期的数据类型 [重复]
【发布时间】:2012-10-18 10:21:19
【问题描述】:

可能重复:
Dates before January 1st, 1970

我正在寻找一种标准解决方案来存储值可能早于 1970-01-01 的日期。非常感谢基于 Joda-time 的解决方案。

例如,我想存储专辑“弗兰克·辛纳屈之声”的发行日期,即 1946 年 3 月 4 日。

【问题讨论】:

  • @Keppil 不。那里的答案不包括有关如何使用 Joda Time 的信息,问题也不包括
  • 那么是什么阻止您使用 JodaTime? 1970 年之前和之后的最近日期没有区别。
  • 我在这里没有看到太多问题。即使new java.util.GregorianCalendar 1946, 2, 4) 也能做到。
  • @NikitaVolkov:是的,再看一遍。
  • System.out.println(new org.joda.time.DateTime(1946, 3, 4, 0, 0));

标签: java date jodatime


【解决方案1】:
DateTime dt = new DateTime(1946, 3, 4, 0, 0);

然后调用 dt.getMillis() 只会产生一个负数。

【讨论】:

    【解决方案2】:

    我想存储专辑“弗兰克·辛纳屈之声”的发行日期,即 1946 年 3 月 4 日。

    LocalDate date = new LocalDate(1948, 3, 4);
    System.out.println(date);
    

    打印

    1948-03-04
    

    LocalDate 可用于自公元 1 年或公元 1 年起的任何年份,默认采用公历。

    【讨论】:

    • 你能解释一下为什么LocalDate 比DateTime 更合适吗?
    • LocalDate 只是一个日期。 DateTime 是日期和时间,如果您还想存储时间,则更合适。假设一天中的某个名义时间比有用的恕我直言更具误导性。
    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 2011-09-09
    相关资源
    最近更新 更多