diff --git a/HOCON.md b/HOCON.md index 595e1b24..ffe785db 100644 --- a/HOCON.md +++ b/HOCON.md @@ -1200,9 +1200,9 @@ parsed as a number plus an optional unit string. The supported unit strings for duration are case sensitive and must be lowercase. Exactly these strings are supported: - - `ns`, `nanosecond`, `nanoseconds` - - `us`, `microsecond`, `microseconds` - - `ms`, `millisecond`, `milliseconds` + - `ns`, `nano`, `nanos`, `nanosecond`, `nanoseconds` + - `us`, `micro`, `micros`, `microsecond`, `microseconds` + - `ms`, `milli`, `millis`, `millisecond`, `milliseconds` - `s`, `second`, `seconds` - `m`, `minute`, `minutes` - `h`, `hour`, `hours` diff --git a/config/src/main/java/com/typesafe/config/impl/SimpleConfig.java b/config/src/main/java/com/typesafe/config/impl/SimpleConfig.java index 277c2d04..b202c90c 100644 --- a/config/src/main/java/com/typesafe/config/impl/SimpleConfig.java +++ b/config/src/main/java/com/typesafe/config/impl/SimpleConfig.java @@ -512,12 +512,12 @@ final class SimpleConfig implements Config, MergeableValue, Serializable { unitString = unitString + "s"; // note that this is deliberately case-sensitive - if (unitString.equals("") || unitString.equals("ms") + if (unitString.equals("") || unitString.equals("ms") || unitString.equals("millis") || unitString.equals("milliseconds")) { units = TimeUnit.MILLISECONDS; - } else if (unitString.equals("us") || unitString.equals("microseconds")) { + } else if (unitString.equals("us") || unitString.equals("micros") || unitString.equals("microseconds")) { units = TimeUnit.MICROSECONDS; - } else if (unitString.equals("ns") || unitString.equals("nanoseconds")) { + } else if (unitString.equals("ns") || unitString.equals("nanos") || unitString.equals("nanoseconds")) { units = TimeUnit.NANOSECONDS; } else if (unitString.equals("d") || unitString.equals("days")) { units = TimeUnit.DAYS; diff --git a/config/src/test/resources/test01.conf b/config/src/test/resources/test01.conf index eae7f69e..586d23f3 100644 --- a/config/src/test/resources/test01.conf +++ b/config/src/test/resources/test01.conf @@ -54,7 +54,9 @@ "second" : 1s, "secondsList" : [1s,2seconds,3 s, 4000], "secondAsNumber" : 1000, - "halfSecond" : 0.5s + "halfSecond" : 0.5s, + "millis" : 1 milli, + "micros" : 2000 micros }, "memsizes" : { diff --git a/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala b/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala index a68f3897..7ca5fa66 100644 --- a/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala +++ b/config/src/test/scala/com/typesafe/config/impl/ConfigTest.scala @@ -769,6 +769,8 @@ class ConfigTest extends TestUtils { assertEquals(Seq(1, 2, 3, 4) map s2unit, conf.getDurationList("durations.secondsList", unit).asScala) assertEquals(ms2unit(500L), conf.getDuration("durations.halfSecond", unit)) + assertEquals(ms2unit(1L), conf.getDuration("durations.millis", unit)) + assertEquals(ms2unit(2L), conf.getDuration("durations.micros", unit)) } assertDurationAsTimeUnit(NANOSECONDS)