From 25cd8948a4421aa90930cb8422647c9194240bc8 Mon Sep 17 00:00:00 2001 From: Imran Rashid Date: Mon, 23 Mar 2015 14:39:01 -0500 Subject: [PATCH] if only given day, assume GMT --- .../spark/status/api/v1/SimpleDateParam.scala | 16 ++++++++++++---- .../status/api/v1/SimpleDateParamTest.scala | 3 +-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/status/api/v1/SimpleDateParam.scala b/core/src/main/scala/org/apache/spark/status/api/v1/SimpleDateParam.scala index ee05d8b8fe004..7c61c31fbb4df 100644 --- a/core/src/main/scala/org/apache/spark/status/api/v1/SimpleDateParam.scala +++ b/core/src/main/scala/org/apache/spark/status/api/v1/SimpleDateParam.scala @@ -17,6 +17,7 @@ package org.apache.spark.status.api.v1 import java.text.SimpleDateFormat +import java.util.TimeZone import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status @@ -40,8 +41,15 @@ private[v1] class SimpleDateParam(val originalValue: String) { } private[v1] object SimpleDateParam { - val formats = Seq( - "yyyy-MM-dd'T'HH:mm:ss.SSSz", - "yyyy-MM-dd" - ).map { new SimpleDateFormat(_) } + + val formats: Seq[SimpleDateFormat] = { + + val gmtDay = new SimpleDateFormat("yyyy-MM-dd") + gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) + + Seq( + new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz"), + gmtDay + ) + } } diff --git a/core/src/test/scala/org/apache/spark/status/api/v1/SimpleDateParamTest.scala b/core/src/test/scala/org/apache/spark/status/api/v1/SimpleDateParamTest.scala index fc4995fbe0ae2..be19d39edf6c4 100644 --- a/core/src/test/scala/org/apache/spark/status/api/v1/SimpleDateParamTest.scala +++ b/core/src/test/scala/org/apache/spark/status/api/v1/SimpleDateParamTest.scala @@ -23,8 +23,7 @@ class SimpleDateParamTest extends FunSuite with Matchers { test("date parsing") { new SimpleDateParam("2015-02-20T23:21:17.190GMT").timestamp should be (1424474477190l) new SimpleDateParam("2015-02-20T17:21:17.190CST").timestamp should be (1424474477190l) - new SimpleDateParam("2015-02-20").timestamp should be (1424412000000l) - + new SimpleDateParam("2015-02-20").timestamp should be (1424390400000L) //GMT } }