Ayant val hm: HashMap[org.joda.time.DateTime, MyType]
J'essaie d'obtenir le premier et le dernier DateTime
de l'ensemble au moyen de hm.keys.min
et hm.keys.max
respectivement, mais le compilateur dit No implicit Ordering defined for org.joda.time.DateTime
. Comment définir cette commande (les options implicites et explicites sont intéressantes)?
object Joda {
implicit def dateTimeOrdering: Ordering[DateTime] = Ordering.fromLessThan(_ isBefore _)
}
// elsewhere
import Joda._
dateTimes.sorted
Pour faciliter travailler avec Joda DateTime à Scala, NSCALA-Time a été créé: https://github.com/nscala-time/nscala-time
Après l'inclure dans votre projet avec
libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "1.8.0"
vous pouvez simplement importer OrderingImplicits
. Soit tout à la fois:
import com.github.nscala_time.time.OrderingImplicits._
ou un particulier:
import com.github.nscala_time.time.OrderingImplicits.DateTimeOrdering