BSONDateTime
只是一个很长的数字,如下所示:
BSONDateTime(1403950332121)
我如何使用它,或将其翻译成可读的日期时间?
答案 0 :(得分:3)
我相信它是以毫秒为单位的纪元秒。这是自1970年1月1日第一秒以来的秒数。因此,这是自1970年1月1日以来的毫秒数。它基于UTC,存储为64位整数。
您可以使用Linux date命令 - 我的时区是MST -7。
$ date --date '@1403950332'
Sat, Jun 28, 2014 4:12:12 AM
我删除了最后三位数字(毫秒)。
答案 1 :(得分:1)
这里有一个我发现有用的隐式转换器的要点: https://gist.github.com/ctcarrier/9918087
它对我有用。 您可能需要的一个小改动:不是设置全局DateTimeZone.default,而是向DateTime构造函数添加一个arg:
implicit object BSONDateTimeHandler extends BSONHandler[BSONDateTime, DateTime] {
def read(time: BSONDateTime) = new DateTime(time.value, DateTimeZone.UTC)
def write(jdtime: DateTime) = BSONDateTime(jdtime.getMillis)
}