BSONDateTime
в MongoDB — это просто длинное число, которое выглядит так:
BSONDateTime(1403950332121)
Как мне это использовать или перевести в удобочитаемую дату и время?
BSONDateTime
в MongoDB — это просто длинное число, которое выглядит так:
BSONDateTime(1403950332121)
Как мне это использовать или перевести в удобочитаемую дату и время?
Я считаю, что это секунды эпохи как миллисекунды. Это количество секунд с первой секунды 1 января 1970 года. Итак, это количество миллисекунд с 1 января 1970 года. Оно основано на UTC, хранящемся как 64-битное целое число.
Вы можете использовать команду даты Linux — мой часовой пояс MST-7.
$ date --date '@1403950332'
Sat, Jun 28, 2014 4:12:12 AM
Я удалил последние три цифры (миллисекунды).
Вот список неявных преобразователей, которые мне показались полезными: https://gist.github.com/ctcarrier/9918087
Меня устраивает. Одно небольшое изменение, которое может вам понадобиться: вместо установки глобального DateTimeZone.default добавьте аргумент в конструктор DateTime:
implicit object BSONDateTimeHandler extends BSONHandler[BSONDateTime, DateTime] {
def read(time: BSONDateTime) = new DateTime(time.value, DateTimeZone.UTC)
def write(jdtime: DateTime) = BSONDateTime(jdtime.getMillis)
}