Skip to content

Commit 19b64ee

Browse files
author
Roman Janusz
committed
added some methods to Timestamp
1 parent 72dd607 commit 19b64ee

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

commons-core/src/main/scala/com/avsystem/commons/misc/Timestamp.scala

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package com.avsystem.commons.misc
22

3-
import java.util.concurrent.TimeUnit
4-
53
import com.avsystem.commons.serialization.IsoInstant
64

7-
import scala.concurrent.duration.{FiniteDuration, TimeUnit}
5+
import java.util.concurrent.TimeUnit
6+
import scala.concurrent.duration.FiniteDuration
87

98
/**
109
* Millisecond-precision, general purpose, cross compiled timestamp representation.
@@ -25,8 +24,23 @@ class Timestamp(val millis: Long) extends AnyVal with Comparable[Timestamp] {
2524
def +(duration: FiniteDuration): Timestamp = Timestamp(millis + duration.toMillis)
2625
def -(duration: FiniteDuration): Timestamp = Timestamp(millis - duration.toMillis)
2726

28-
def until(other: Timestamp): FiniteDuration =
29-
FiniteDuration(other.millis - millis, TimeUnit.MILLISECONDS)
27+
/**
28+
* Computes a [[FiniteDuration]] between this timestamp and some other timestamp later in time.
29+
*/
30+
def until(end: Timestamp): FiniteDuration =
31+
FiniteDuration(end.millis - millis, TimeUnit.MILLISECONDS)
32+
33+
/**
34+
* Computes a [[FiniteDuration]] between some timestamp earlier in time and this timestamp.
35+
*/
36+
def since(start: Timestamp): FiniteDuration =
37+
start.until(this)
38+
39+
/**
40+
* Computes a difference between two timestamps, expressed as [[FiniteDuration]]. Alias for [[since]].
41+
*/
42+
def -(start: Timestamp): FiniteDuration =
43+
since(start)
3044

3145
override def toString: String = IsoInstant.format(millis)
3246
}

0 commit comments

Comments
 (0)