11

在 Scala 中,我将日期转换为时间戳。我目前正在这样做:

val date = new java.util.Date()
new java.sql.Timestamp(new org.joda.time.DateTime(date).getMillis)

有没有更巧妙的方法来做到这一点?基于 Java 的响应也将是相关的。

4

2 回答 2

16

为什么不像 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
于 2012-11-13T21:30:28.753 回答
13

如果你甚至不想构造一个 Date 对象,你可以简单地使用这个:

new java.sql.Timestamp(System.currentTimeMillis())

我认为这会比使用新的 Date() 更有效。但是,如果您已经有一个日期对象,那么您想从中获取日期将对您有用。

new java.sql.Timestamp(data.getTime())
于 2012-11-13T21:36:00.317 回答