在 Scala 中,我将日期转换为时间戳。我目前正在这样做:
val date = new java.util.Date()
new java.sql.Timestamp(new org.joda.time.DateTime(date).getMillis)
有没有更巧妙的方法来做到这一点?基于 Java 的响应也将是相关的。
为什么不像 using 这么简单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
如果你甚至不想构造一个 Date 对象,你可以简单地使用这个:
new java.sql.Timestamp(System.currentTimeMillis())
我认为这会比使用新的 Date() 更有效。但是,如果您已经有一个日期对象,那么您想从中获取日期将对您有用。
new java.sql.Timestamp(data.getTime())