【问题标题】:How do I convert unix epoch nanoseconds to date only (without time) on Scala LocalDateTime如何在 Scala LocalDateTime 上将 unix 纪元纳秒仅转换为日期(无时间)
【发布时间】:2019-08-27 02:56:39
【问题描述】:

我有一个纪元纳秒,例如:1538361005148000000,如何使用 Scala 的 LocalDateTime 将其转换为日期 YYYY-MM-dd 而没有时间?时区:亚洲/曼谷

【问题讨论】:

  • 为什么LocalDateTime 不可用?还有其他限制吗?日期/时间处理非常棘手,最好留给处理困难极端情况的库。
  • 嗨蒂姆!需要一种线程安全的方法...您有什么建议或替代方案吗?据我了解 SimpleDateFormat 不是线程安全的,对吗?谢谢!
  • 你为什么不想使用它?好吧,我认为使用 DateTimeFormatter 可以做到。我认为这将是这样的 DateTimeFormat.forPattern("YYYY-MM-dd") 并设置您想要的 TimeZone?我认为 DateTime 会起作用吗?
  • 当然,我认为应该是这样的: val date = DateTimeFormat.forPattern("yyyy-MM-dd) 然后 date.parseDateTime(your_date_here).withZone((org.joda.time .DateTimeZone.UTC))
  • 当然你得把时区改成你想要的,我不知道你想要哪个时区:)

标签: scala localdate


【解决方案1】:

我假设,您的纳秒是作为字符串给出的......

  LocalDateTime.forInstant(
    Instant.ofEpochMilli(nanos.dropRight(6).toLong),
    yourTimeZone
  ).toLocalDate
   .toString

【讨论】:

  • 应该是ofInstant
猜你喜欢
  • 2017-12-06
  • 2019-08-03
  • 2016-09-15
  • 1970-01-01
  • 2013-04-02
  • 1970-01-01
  • 2018-10-01
  • 2013-01-08
相关资源
最近更新 更多