You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2018/02/28 11:28:15 UTC
[cloudstack] branch master updated: dateutil: constistency of
tzdate input and output (#2392)
This is an automated email from the ASF dual-hosted git repository.
dahn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/master by this push:
new 2ad5202 dateutil: constistency of tzdate input and output (#2392)
2ad5202 is described below
commit 2ad520282319da9a03061b8c744e51a4ffdf94a2
Author: Yoan Blanc <yo...@dosimple.ch>
AuthorDate: Wed Feb 28 12:28:10 2018 +0100
dateutil: constistency of tzdate input and output (#2392)
Signed-off-by: Yoan Blanc <yo...@exoscale.ch>
Signed-off-by: Daan Hoogland <da...@shapeblue.com>
---
utils/src/main/java/com/cloud/utils/DateUtil.java | 10 +++++---
.../test/java/com/cloud/utils/DateUtilTest.java | 27 +++++++++++++++-------
2 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/utils/src/main/java/com/cloud/utils/DateUtil.java b/utils/src/main/java/com/cloud/utils/DateUtil.java
index 7787e1b..9f046d1 100644
--- a/utils/src/main/java/com/cloud/utils/DateUtil.java
+++ b/utils/src/main/java/com/cloud/utils/DateUtil.java
@@ -38,10 +38,14 @@ public class DateUtil {
return new Date();
}
- // yyyy-MM-ddTHH:mm:ssZxxxx
+ // yyyy-MM-ddTHH:mm:ssZZZZ or yyyy-MM-ddTHH:mm:ssZxxxx
public static Date parseTZDateString(String str) throws ParseException {
- DateFormat dfParse = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'Z");
- return dfParse.parse(str);
+ try {
+ return s_outputFormat.parse(str);
+ } catch (ParseException e) {
+ final DateFormat dfParse = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'Z");
+ return dfParse.parse(str);
+ }
}
public static Date parseDateString(TimeZone tz, String dateString) {
diff --git a/utils/src/test/java/com/cloud/utils/DateUtilTest.java b/utils/src/test/java/com/cloud/utils/DateUtilTest.java
index ba88505..190adea 100644
--- a/utils/src/test/java/com/cloud/utils/DateUtilTest.java
+++ b/utils/src/test/java/com/cloud/utils/DateUtilTest.java
@@ -27,6 +27,9 @@ import java.util.TimeZone;
import com.cloud.utils.DateUtil.IntervalType;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
public class DateUtilTest {
@@ -44,17 +47,25 @@ public class DateUtilTest {
if (args.length == 2) {
System.out.println("Next run time: " + DateUtil.getNextRunTime(IntervalType.getIntervalType(args[0]), args[1], "GMT", time).toString());
}
+ }
- time = new Date();
+ @Test
+ public void zonedTimeFormatLegacy() throws ParseException {
+ Date time = new Date();
DateFormat dfDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'Z");
String str = dfDate.format(time);
- System.out.println("Formated TZ time string : " + str);
- try {
- Date dtParsed = DateUtil.parseTZDateString(str);
- System.out.println("Parsed TZ time string : " + dtParsed.toString());
- } catch (ParseException e) {
- System.err.println("Parsing failed\n string : " + str + "\nexception :" + e.getLocalizedMessage());
- }
+ Date dtParsed = DateUtil.parseTZDateString(str);
+
+ assertEquals(time.toString(), dtParsed.toString());
}
+ @Test
+ public void zonedTimeFormat() throws ParseException {
+ Date time = new Date();
+ DateFormat dfDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
+ String str = dfDate.format(time);
+ Date dtParsed = DateUtil.parseTZDateString(str);
+
+ assertEquals(time.toString(), dtParsed.toString());
+ }
}
--
To stop receiving notification emails like this one, please contact
dahn@apache.org.