Преобразование даты в метку времени в Scala
В Scala, я конвертирую Date в Timestamp. В настоящее время я делаю это с помощью:
val date = new java.util.Date()
new java.sql.Timestamp(new org.joda.time.DateTime(date).getMillis)
Есть ли способ сделать это? Ответы на Java также будут актуальны.
Ответы
Ответ 1
Почему не так просто, как использовать Date.getTime()
?
new java.sql.Timestamp(date.getTime)
Вам не нужно время Джоды для этого. Scala здесь не имеет особого значения, если вам не требуется неявное преобразование:
//import once, use everywhere
implicit def date2timestamp(date: java.util.Date) =
new java.sql.Timestamp(date.getTime)
val date = new java.util.Date
//conversion happens implicitly
val timestamp: java.sql.Timestamp = date
Ответ 2
Если вы не хотите даже создавать объект Date, вы можете просто использовать это:
new java.sql.Timestamp(System.currentTimeMillis())
Я бы подумал, что это будет немного более эффективным, чем использование новой Date(). Но если у вас уже есть объект даты, который вы хотите получить, дата будет работать для вас.
new java.sql.Timestamp(data.getTime())