Я хотел бы использовать следующую функцию для преобразования из Joda Time в временную метку Unix:
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 из длинного значения. Как сделать такой подбор?