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

时间:2012-11-13 21:26:02

标签: java scala date timestamp

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

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

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

2 个答案:

答案 0 :(得分:14)

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

new java.sql.Timestamp(date.getTime)

你不需要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

答案 1 :(得分:12)

如果您甚至不想构建Date对象,只需使用它:

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

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

new java.sql.Timestamp(data.getTime())