2010-09-03 1 views
7

Я пытаюсь использовать joda-время с its Scala wrapper.Как вычесть день/час/минуту из joda-time DateTime в Scala?

Высказывание val dt является DateTime и содержит date (zero time), как я могу получить дату дня для этого? dt - 1.days не работает и дает

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

примеры Scala-время, как 2.hours + 45.minutes + 10.seconds не работает, либо о том, что hours не является членом Int.

Joda-time примеры, например DateTime.dayOfWeek().addToCopy(3), не работают либо как dayOfWeek, например, не является членом org.scala_tools.time.Imports.DateTime.

Отформатированный DateTime Ввод и вывод, как представляется, работают как предназначенные.

UPDATE: Кажется, ошибка в NetBeans IDE.It показывает ошибку, в то время как компилятор компилирует нормально и программа работает, как ожидалось с dt - 1.days синтаксиса.

+2

Обратите внимание, что 'dayOfWeek' фактически * является членом org.scala_tools.time.Imports.DateTime, так как Imports.DateTime - это просто псевдоним для org.joda.time.DateTime. В классе RichDateTime добавлены дружественные scala методы. –

ответ

6

Кажется, это ошибка в среде IDE NetBeans. Он показывает ошибку, в то время как компилятор компилируется нормально, и программа работает так, как ожидалось, с синтаксисом «dt - 1.days».

2

Кажется, что код не может найти неявные преобразования. Вы уверены, что импортируете org.scala_tools.time.Imports._ в область, которую вы используете?

+0

У меня есть import org.scala_tools.time.Imports._ сразу после объявления пакета. Тип DateTime работает, как я уже сказал, из которого я заключаю, что я импортировал его в порядке. – Ivan

+1

Кажется, это ошибка IDE NetBeans. Она показывает ошибку, а компилятор компилируется нормально, и программа работает так, как ожидалось, с синтаксисом dt - 1.days. – Ivan

Смежные вопросы