S-JIS[2013-06-09] 変更履歴
durationは、Scalaで期間(時間)を扱うパッケージ。
|
durationは期間(時間)を扱うパッケージ。Scala2.10で導入された。
import scala.concurrent.duration._
例 | 備考 |
---|---|
scala> 1.day res0: scala.concurrent.duration.FiniteDuration = 1 day scala> 2 day res1: scala.concurrent.duration.FiniteDuration = 2 days scala> 2 days res2: scala.concurrent.duration.FiniteDuration = 2 days scala> 3 hour res3: scala.concurrent.duration.FiniteDuration = 3 hours |
Intの後にdayとかhourとかの期間を表す単語を付けると その期間を表すオブジェクトになる。 単位に使える単語はDurationConversionsのメソッド。 (day・hour・minute・second・millis・micros・nanos) |
scala> 1.day + 2.day res4: scala.concurrent.duration.FiniteDuration = 3 days scala> 1.day + 2.hour res5: scala.concurrent.duration.FiniteDuration = 26 hours scala> 23.hour + 60.minute res6: scala.concurrent.duration.FiniteDuration = 1440 minutes scala> 60.minute - 1.minute res7: scala.concurrent.duration.FiniteDuration = 59 minutes |
期間オブジェクト同士で演算することが出来る。 |
scala> 1.day.toHours res8: Long = 24 |
別の単位への変換。 |
scala> 3.second.fromNow res17: scala.concurrent.duration.Deadline = Deadline(44558292423097 nanoseconds) |
Deadline…って何に使うのかよく分からない^^; |
scala> 2 second span res21: scala.concurrent.duration.DurationConversions.spanConvert.R = 2 seconds |
spanもよく分からないorz |