Locale independent time parsing
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/d66df91e Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/d66df91e Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/d66df91e Branch: refs/heads/master Commit: d66df91e4a0276cf47b79d7b417455a70565ba97 Parents: c6bb3b8 Author: Svetoslav Neykov <[email protected]> Authored: Tue Jun 16 18:09:33 2015 +0300 Committer: Svetoslav Neykov <[email protected]> Committed: Tue Jul 7 17:29:16 2015 +0300 ---------------------------------------------------------------------- utils/common/src/main/java/brooklyn/util/time/Time.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d66df91e/utils/common/src/main/java/brooklyn/util/time/Time.java ---------------------------------------------------------------------- diff --git a/utils/common/src/main/java/brooklyn/util/time/Time.java b/utils/common/src/main/java/brooklyn/util/time/Time.java index 05bf088..3379d49 100644 --- a/utils/common/src/main/java/brooklyn/util/time/Time.java +++ b/utils/common/src/main/java/brooklyn/util/time/Time.java @@ -26,6 +26,7 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; +import java.util.Locale; import java.util.SimpleTimeZone; import java.util.TimeZone; import java.util.concurrent.TimeUnit; @@ -545,7 +546,7 @@ public class Time { // return the error from this method Maybe<Calendar> returnResult = result; - result = parseCalendarFormat(input, new SimpleDateFormat(DATE_FORMAT_OF_DATE_TOSTRING)); + result = parseCalendarFormat(input, new SimpleDateFormat(DATE_FORMAT_OF_DATE_TOSTRING, Locale.ROOT)); if (result.isPresent()) return result; result = parseCalendarDefaultParse(input); if (result.isPresent()) return result; @@ -750,7 +751,7 @@ public class Time { month = Integer.parseInt(monthS)-1; } else { try { - month = new SimpleDateFormat("yyyy-MMM-dd").parse("2015-"+monthS+"-15").getMonth(); + month = new SimpleDateFormat("yyyy-MMM-dd", Locale.ROOT).parse("2015-"+monthS+"-15").getMonth(); } catch (ParseException e) { return Maybe.absent("Unknown date format '"+input+"': invalid month '"+monthS+"'; try http://yaml.org/type/timestamp.html format e.g. 2015-06-15 16:00:00 +0000"); } @@ -918,7 +919,7 @@ public class Time { throw new IllegalArgumentException("Date " + dateString + " cannot be parsed as UTC millis or using format " + format); } public static Maybe<Calendar> parseCalendarFormat(String dateString, String format) { - return parseCalendarFormat(dateString, new SimpleDateFormat(format)); + return parseCalendarFormat(dateString, new SimpleDateFormat(format, Locale.ROOT)); } public static Maybe<Calendar> parseCalendarFormat(String dateString, DateFormat format) { if (dateString == null) {
