在Scala中,我将Date转换为Timestamp。我目前正在这样做:
val date = new java.util.Date()
new java.sql.Timestamp(new org.joda.time.DateTime(date).getMillis)
这样做有一种更明智的方式吗? Java知情的回复也是相关的。
答案 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())