2010-09-03 3 views
7

Ich versuche, joda-Zeit mit zu verwenden.Wie subtrahiert man einen Tag/Stunde/Minute von joda-time DateTime in Scala?

Sagen val dt ist ein DateTime und enthält eine date (zero time), wie bekomme ich das Datum des Tages, bevor es? dt - 1.days funktioniert nicht und gibt

"type mismatch" ("found: org.scala_tools.time.Imports.DateTime, required: ?{val -:?}"). 

Scala Zeit Beispiele wie 2.hours + 45.minutes + 10.seconds nicht funktionieren entweder sagen, dass hours kein Mitglied einer Int ist.

Joda-Zeit Beispiele wie DateTime.dayOfWeek().addToCopy(3) funktionieren nicht als dayOfWeek, zum Beispiel ist kein Mitglied von org.scala_tools.time.Imports.DateTime.

Formatiert DateTime Eingang und Ausgang scheinen wie vorgesehen zu arbeiten.

UPDATE: Scheint das ein Fehler von NetBeans IDE.It zeigt den Fehler zu sein, während Compiler kompiliert ok und das Programm funktioniert wie mit dt - 1.days Syntax erwartet.

+2

Beachten Sie, dass "dayOfWeek" tatsächlich * ein Mitglied von org.scala_tools.time.Imports.DateTime ist, da Imports.DateTime nur ein Alias ​​für org.joda.time.DateTime ist. Die scalafreundlichen Methoden werden in der RichDateTime-Klasse hinzugefügt. –

Antwort

6

Scheint ein Bug von NetBeans IDE zu sein. Es zeigt den Fehler, während der Compiler ok kompiliert und das Programm wie erwartet mit der Syntax "dt - 1.days" arbeitet.

2

Es scheint, dass der Code die impliziten Konvertierungen nicht finden kann. Sind Sie sicher, dass Sie org.scala_tools.time.Imports._ in dem Bereich, in dem Sie es verwenden, importieren?

+0

Ich habe org.scala_tools.time.Imports._ gleich nach der Paketdeklaration importieren. DateTime Typ funktioniert, wie gesagt, von dem ich folge, dass ich es ok importiert habe. – Ivan

+1

Scheint, ein Fehler von NetBeans IDE zu sein. Es zeigt den Fehler, während Compiler kompiliert ok und das Programm funktioniert wie erwartet mit "dt - 1.days" -Syntax. – Ivan

Verwandte Themen