2013-06-08 14 views
32

Ich bin neu in Scala und ich habe es in den letzten Tagen gelernt. Ich zweifle daran, dass Scala das Datum aus der Zeichenfolge konvertiert hat.Wie konvertiert man String zu Datum Uhrzeit in Scala?

Wie konvertiert man String zu Datum und Uhrzeit mit Scala?

Funktioniert es genauso wie Java?

Wenn ich es so mache, bekomme ich einen Compilerfehler und ich kann das nicht in Scala umwandeln, weil ich neu bei Scala bin. Und ich weiß, dass es nicht gut ist, Java in Scala zu konvertieren ...

Bitte teilen Sie Ihre Antwort.

+2

Yep .. es funktioniert auf die gleiche Weise wie in Java .. http://stackoverflow.com/a/5377949/920271 – Shrey

Antwort

41

Wenn Sie Java util.Date verwenden, dann wie in Java:

val format = new java.text.SimpleDateFormat("yyyy-MM-dd") 
format.parse("2013-07-06") 

docs für Formating - SimpleDateFormat

oder wenn Sie joda des Datetime verwenden, dann Parse-Methode aufrufen:

DateTime.parse("07-06-2013") 

docs - DateTime

+1

Gibt es ein Paket in scala Bibliothek implicits dieser Umwandlung enthalten? Etwas wie die Dauer. – Jatin

+2

@Jatin nein, aber Sie können es selbst schreiben: 'implizit def str2date (str: String) = DateTime.parse (str)' – 4lex1v

+0

Wenn Sie mehr als einen Ausführungsthread in Ihrer Anwendung haben möchten, sollten Sie nicht verwenden 'SimpleDateFormat', noch' java.util.Date', da sie nicht threadsicher sind (Caveat ist für Java 7- gültig). Betrachte in diesem Fall 'joda.time'. – mlg

5

Meine gehen Die Option ist nscala-time zu verwenden: https://github.com/nscala-time/nscala-time

Fügen Sie dies zu Ihrer build.sbt hinzu, wenn Sie sbt verwenden.

libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "1.8.0" 

Importieren und analysieren Sie Ihr Datum.

import com.github.nscala_time.time.Imports._ 

DateTime.parse("2014-07-06") 
Verwandte Themen