aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2016-12-20 01:39:16 -0500
committerStewart Stewart <stewinsalot@gmail.com>2016-12-20 01:39:16 -0500
commitf0a5e41ec45d2420ba7173e156806f81701f9796 (patch)
treeb185f9e8c9d0bf515b989ba8c13dc0f264e6fd25
parentf0edf2510e2cf67afdf598824a02ff03e6726f62 (diff)
downloaddriver-core-f0a5e41ec45d2420ba7173e156806f81701f9796.tar.gz
driver-core-f0a5e41ec45d2420ba7173e156806f81701f9796.tar.bz2
driver-core-f0a5e41ec45d2420ba7173e156806f81701f9796.zip
fix Time#toDate and sqlDateToDate
-rw-r--r--src/main/scala/xyz/driver/core/database/package.scala10
-rw-r--r--src/main/scala/xyz/driver/core/date.scala7
-rw-r--r--src/main/scala/xyz/driver/core/time.scala4
3 files changed, 10 insertions, 11 deletions
diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/src/main/scala/xyz/driver/core/database/package.scala
index 7d9aecb..c88260b 100644
--- a/src/main/scala/xyz/driver/core/database/package.scala
+++ b/src/main/scala/xyz/driver/core/database/package.scala
@@ -3,7 +3,7 @@ package xyz.driver.core
import java.sql.{Date => SqlDate}
import java.util.Calendar
-import date.{Date, javaDateToDate}
+import date.Date
import slick.dbio.{DBIOAction, NoStream}
package object database {
@@ -13,7 +13,13 @@ package object database {
def drop: DBIOAction[Unit, NoStream, slick.dbio.Effect.Schema]
}
- private[database] def sqlDateToDate(date: SqlDate): Date = javaDateToDate(date)
+ private[database] def sqlDateToDate(sqlDate: SqlDate): Date = {
+ // NOTE: SQL date does not have a time component, so this date
+ // should only be interpreted in the running JVMs timezone.
+ val cal = Calendar.getInstance()
+ cal.setTime(sqlDate)
+ Date(cal.get(Calendar.YEAR), date.tagMonth(cal.get(Calendar.MONTH)), cal.get(Calendar.DAY_OF_MONTH))
+ }
private[database] def dateToSqlDate(date: Date): SqlDate = {
val cal = Calendar.getInstance()
diff --git a/src/main/scala/xyz/driver/core/date.scala b/src/main/scala/xyz/driver/core/date.scala
index 437729f..ab19074 100644
--- a/src/main/scala/xyz/driver/core/date.scala
+++ b/src/main/scala/xyz/driver/core/date.scala
@@ -22,11 +22,4 @@ object date {
}
final case class Date(year: Int, month: Month, day: Int)
-
- private[core] def javaDateToDate(javaDate: java.util.Date): Date = {
- val cal = Calendar.getInstance()
- cal.setTime(javaDate)
- Date(cal.get(Calendar.YEAR), date.tagMonth(cal.get(Calendar.MONTH)), cal.get(Calendar.DAY_OF_MONTH))
- }
-
}
diff --git a/src/main/scala/xyz/driver/core/time.scala b/src/main/scala/xyz/driver/core/time.scala
index 5dc16a0..cbb86ed 100644
--- a/src/main/scala/xyz/driver/core/time.scala
+++ b/src/main/scala/xyz/driver/core/time.scala
@@ -28,9 +28,9 @@ object time {
def advanceBy(duration: Duration): Time = Time(millis + duration.toMillis)
def toDate(timezone: TimeZone): date.Date = {
- val cal = java.util.Calendar.getInstance(timezone)
+ val cal = Calendar.getInstance(timezone)
cal.setTimeInMillis(millis)
- date.javaDateToDate(cal.getTime())
+ date.Date(cal.get(Calendar.YEAR), date.tagMonth(cal.get(Calendar.MONTH)), cal.get(Calendar.DAY_OF_MONTH))
}
}