Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Use toMillis and fromMillis
  • Loading branch information
MaxGekk committed Feb 22, 2020
commit e6053be46cc5952b19ae4e4f2f7bca24d101de15
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ object DateTimeUtils {
}

def millisToDays(millisUtc: Long, zoneId: ZoneId): SQLDate = {
val instant = microsToInstant(Math.multiplyExact(millisUtc, MICROS_PER_MILLIS))
val instant = microsToInstant(fromMillis(millisUtc))
localDateToDays(LocalDateTime.ofInstant(instant, zoneId).toLocalDate)
}

Expand All @@ -76,7 +76,7 @@ object DateTimeUtils {

def daysToMillis(days: SQLDate, zoneId: ZoneId): Long = {
val instant = daysToLocalDate(days).atStartOfDay(zoneId).toInstant
instantToMicros(instant) / MICROS_PER_MILLIS
toMillis(instantToMicros(instant))
}

// Converts Timestamp to string according to Hive TimestampWritable convention.
Expand Down Expand Up @@ -149,7 +149,7 @@ object DateTimeUtils {
* Converts milliseconds since epoch to SQLTimestamp.
*/
def fromMillis(millis: Long): SQLTimestamp = {
MILLISECONDS.toMicros(millis)
Math.multiplyExact(millis, MICROS_PER_MILLIS)
}

def microsToEpochDays(epochMicros: SQLTimestamp, zoneId: ZoneId): SQLDate = {
Expand Down Expand Up @@ -714,7 +714,7 @@ object DateTimeUtils {
case TRUNC_TO_HOUR => truncToUnit(t, zoneId, ChronoUnit.HOURS)
case TRUNC_TO_DAY => truncToUnit(t, zoneId, ChronoUnit.DAYS)
case _ =>
val millis = MICROSECONDS.toMillis(t)
val millis = toMillis(t)
val truncated = level match {
case TRUNC_TO_MILLISECOND => millis
case TRUNC_TO_SECOND =>
Expand All @@ -725,7 +725,7 @@ object DateTimeUtils {
val dDays = millisToDays(millis, zoneId)
daysToMillis(truncDate(dDays, level), zoneId)
}
truncated * MICROS_PER_MILLIS
fromMillis(truncated)
}
}

Expand Down