2012-11-13 25 views
10

Scalaでは、DateをTimestampに変換しています。私は現在、次のようにしています:Scalaの日付をタイムスタンプに変換

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

これを行うには、よりスッキリな方法がありますか? Javaに情報を与えられた応答も関連します。

答えて

14

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 
11

あなたも、あなたは、単にこの使用することができますDateオブジェクト構築したくない場合は、次の

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

を私が思うだろうこれは、新しいDate()を使用するよりも少し効率的です。しかし、あなたがすでに日付オブジェクトを持っているなら、これで日付を取得したいと思うでしょう。

new java.sql.Timestamp(data.getTime()) 
関連する問題