2012-11-13 14 views
10

W programie Scala przeliczam datę na datownik. Obecnie robię to z:Konwertuj datę na datownik w Scala

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

Czy istnieje lepszy sposób robienia tego? Odpowiednie są również odpowiedzi oparte na informacjach w języku Java.

Odpowiedz

14

Dlaczego nie jest tak proste, jak korzystanie z Date.getTime()?

new java.sql.Timestamp(date.getTime) 

Nie potrzebujesz do tego czasu Joda. Scala tu nie ma naprawdę znaczenia, chyba że trzeba niejawna konwersja:

//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

Jeśli nie chcesz nawet skonstruować obiekt Date można po prostu użyj tego:

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

Myślę byłoby to trochę bardziej wydajne niż użycie nowej daty(). Ale jeśli już masz obiekt daty, który chcesz uzyskać od tego czasu, będzie działać dla ciebie.

new java.sql.Timestamp(data.getTime()) 
Powiązane problemy