我想使用以下函数将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,并且要进一步以Int形式存储(在MySQL DB中),标准Unix时间戳是我们公司时间记录的标准。但Joda Time仅提供getMillis而不是getSeconds,因此我必须获取一个Long型的毫秒级时间戳,然后将其除以1000以生成标准Unix时间戳。
而我卡在了让Scala将Long值转换为Int上。如何进行这样的转换?