在Scala中将日期转换为时间戳

wil*_*ill 11 java timestamp scala date

在Scala中,我将Date转换为Timestamp.我目前正在这样做:

val date = new java.util.Date()
new java.sql.Timestamp(new org.joda.time.DateTime(date).getMillis)
Run Code Online (Sandbox Code Playgroud)

这样做有一种更明智的方式吗?Java知情的回复也是相关的.

Tom*_*icz 15

为什么不像使用一样简单Date.getTime()

new java.sql.Timestamp(date.getTime)
Run Code Online (Sandbox Code Playgroud)

你不需要Joda时间.除非您需要隐式转换,否则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
Run Code Online (Sandbox Code Playgroud)


myy*_*yyk 12

如果您不想甚至构造Date对象,您可以简单地使用它:

new java.sql.Timestamp(System.currentTimeMillis())
Run Code Online (Sandbox Code Playgroud)

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

new java.sql.Timestamp(data.getTime())
Run Code Online (Sandbox Code Playgroud)