【问题标题】:Convert Joda LocalDate to Unix Epoch Time将 Joda LocalDate 转换为 Unix 纪元时间
【发布时间】:2015-07-08 05:54:31
【问题描述】:

我希望在 Java 中将 Joda LocalDate 转换为 unix 纪元时间(长)。

我查看了 LocalDate 文档,似乎没有任何关于获取此值的信息。

Link

我是 Joda 的新手,一直在四处寻找,但还没有找到正确的方法。我知道这必须很容易,但我还没有弄清楚。任何帮助将不胜感激。

【问题讨论】:

  • LocalDate#toDate()#getTime()?
  • 是的,我知道这是一个愚蠢的问题......你需要除以 1000,因为 getTime() 返回毫秒。您可以将此添加为答案,并注意从毫秒到秒的转换。
  • @MadProgrammer LocalDate#toDateTime()#getMillis() 将其完全保留在 Joda 中
  • @SteveChaloner 什么会漂浮在船上:P

标签: java jodatime unix-timestamp


【解决方案1】:

在一般情况下,它并不像看起来那么简单 - Unix 时间定义了从 1970-01-01 00:00 UTC 开始的连续时间线。 LocalDate ——顾名思义——是世界上某个地方的本地人。 2015-01-01 一天的开始和结束时间在悉尼与柏林不同。此外,Unix 时间涉及 time 而 LocalDate... 不是 ;) 所以 - 如果将 Local Date 转换为 UTC 时间戳 确实有意义> 有两个问题你必须自己回答:

  • 您想在哪个时区解释LocalDate
  • 转换后的时间部分应该是多少?

假设这样做确实有意义并且您可以回答问题,那么您可以使用实现它

LocalDate#toDateTime(LocalTime time, DateTimeZone zone)#getMillis()

或者 - 如果你想要一天的开始

LocalDate#toDateTimeAtStartOfDay(DateTimeZone zone)#getMillis()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-30
    • 2016-09-15
    • 2015-12-22
    • 2015-12-30
    • 2011-06-07
    • 2013-01-08
    • 2011-07-25
    相关资源
    最近更新 更多