Я хотел бы использовать следующую функцию для преобразования из Joda Time в Unix timestamp:
def toUnixTimeStamp(dt : DateTime) : Int = {
val millis = dt.getMillis
val seconds = if(millis % 1000 == 0) millis / 1000
else { throw new IllegalArgumentException ("Too precise timestamp") }
if (seconds > 2147483647) {
throw new IllegalArgumentException ("Timestamp out of range")
}
seconds
}
Ожидаемые значения времени никогда не ожидаются с точностью до миллисекунды, они с точностью до секундыUTC по контракту и подлежит дальнейшему хранению (в БД MySQL) как Int, стандартные метки времени Unix являются стандартом нашей компании для записей времени.Но Joda Time предоставляет только getMillis, а не getSeconds, поэтому мне нужно получить длинную метку времени с точностью до миллисекунды и разделить ее на 1000, чтобы получить стандартную метку времени Unix.
И я застрял, делая Scala для создания IntДлинного значения.Как сделать такой бросок?