diff --git a/projects/core/src/main/java/dan200/computercraft/core/apis/LuaDateTime.java b/projects/core/src/main/java/dan200/computercraft/core/apis/LuaDateTime.java index a90f41ef1..d9e987129 100644 --- a/projects/core/src/main/java/dan200/computercraft/core/apis/LuaDateTime.java +++ b/projects/core/src/main/java/dan200/computercraft/core/apis/LuaDateTime.java @@ -47,7 +47,7 @@ static void format(DateTimeFormatterBuilder formatter, String format) throws Lua case 'g' -> formatter.appendValueReduced(IsoFields.WEEK_BASED_YEAR, 2, 2, 0); case 'G' -> formatter.appendValue(IsoFields.WEEK_BASED_YEAR); case 'H' -> formatter.appendValue(ChronoField.HOUR_OF_DAY, 2); - case 'I' -> formatter.appendValue(ChronoField.HOUR_OF_AMPM, 2); + case 'I' -> formatter.appendValue(ChronoField.CLOCK_HOUR_OF_AMPM, 2); case 'j' -> formatter.appendValue(ChronoField.DAY_OF_YEAR, 3); case 'm' -> formatter.appendValue(ChronoField.MONTH_OF_YEAR, 2); case 'M' -> formatter.appendValue(ChronoField.MINUTE_OF_HOUR, 2); diff --git a/projects/core/src/test/resources/test-rom/spec/apis/os_spec.lua b/projects/core/src/test/resources/test-rom/spec/apis/os_spec.lua index a9a620d50..12aaadced 100644 --- a/projects/core/src/test/resources/test-rom/spec/apis/os_spec.lua +++ b/projects/core/src/test/resources/test-rom/spec/apis/os_spec.lua @@ -96,6 +96,9 @@ describe("The os library", function() exp_code("%Y", "2000") exp_code("%%", "%") + it("%r at 12 AM", function() expect(os.date("%r", 1670373922)):eq("12:45:22 AM") end) + it("%I at 12 AM", function() expect(os.date("%I", 1670373922)):eq("12") end) + it("zones are numbers", function() local zone = os.date("%z", t1) if not zone:match("^[+-]%d%d%d%d$") then