aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/date.scala
diff options
context:
space:
mode:
authorVlad Uspensky <v.uspenskiy@icloud.com>2016-12-22 15:31:56 -0800
committerGitHub <noreply@github.com>2016-12-22 15:31:56 -0800
commita9e83ef7c5452d30bb0b49ae508efb17210c49ef (patch)
tree4001bd608c33986168796bb1ed49519d4d2ff28c /src/main/scala/xyz/driver/core/date.scala
parent9dead411fb4fb170ab2372a50ed5a61ce853499b (diff)
parenta4c857745817092ccb9d2b12d83df74a0f2e25e5 (diff)
downloaddriver-core-a9e83ef7c5452d30bb0b49ae508efb17210c49ef.tar.gz
driver-core-a9e83ef7c5452d30bb0b49ae508efb17210c49ef.tar.bz2
driver-core-a9e83ef7c5452d30bb0b49ae508efb17210c49ef.zip
Merge pull request #14 from drivergroup/date-to-string
Add Date#toString and Date.fromString
Diffstat (limited to 'src/main/scala/xyz/driver/core/date.scala')
-rw-r--r--src/main/scala/xyz/driver/core/date.scala13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/date.scala b/src/main/scala/xyz/driver/core/date.scala
index ab19074..bb88501 100644
--- a/src/main/scala/xyz/driver/core/date.scala
+++ b/src/main/scala/xyz/driver/core/date.scala
@@ -21,5 +21,16 @@ object date {
val DECEMBER = tagMonth(Calendar.DECEMBER)
}
- final case class Date(year: Int, month: Month, day: Int)
+ final case class Date(year: Int, month: Month, day: Int) {
+ override def toString = f"$year%04d-${month + 1}%02d-$day%02d"
+ }
+
+ object Date {
+ def fromString(dateString: String): Option[Date] = {
+ util.Try(dateString.split("-").map(_.toInt)).toOption collect {
+ case Array(year, month, day) if (1 to 12 contains month) && (1 to 31 contains day) =>
+ Date(year, tagMonth(month - 1), day)
+ }
+ }
+ }
}