Skip to content

Commit b8a2cf4

Browse files
authored
Fix fix-js-get-string AM/PM computation for Date.prototype.toLocaleString (#355)
- Fix AM/PM computation for Date.prototype.toLocalString: 11:00 and 23:00 used to convert to -1:00
1 parent d619882 commit b8a2cf4

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

quickjs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47444,7 +47444,7 @@ static JSValue get_date_string(JSContext *ctx, JSValue this_val,
4744447444
break;
4744547445
case 3:
4744647446
pos += snprintf(buf + pos, sizeof(buf) - pos,
47447-
"%02d:%02d:%02d %cM", (h + 1) % 12 - 1, m, s,
47447+
"%02d:%02d:%02d %cM", (h + 11) % 12 + 1, m, s,
4744847448
(h < 12) ? 'A' : 'P');
4744947449
break;
4745047450
}

tests/test_builtin.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,14 @@ function test_date()
697697
assert(Date.UTC(2017, 9, 22, 18 - 1e10, 10 + 60e10), 1508695800000);
698698
assert(Date.UTC(2017, 9, 22, 18, 10 - 1e10, 11 + 60e10), 1508695811000);
699699
assert(Date.UTC(2017, 9, 22, 18, 10, 11 - 1e12, 91 + 1000e12), 1508695811091);
700+
assert(new Date("2024 Apr 7 1:00 AM").toLocaleString(), "04/07/2024, 01:00:00 AM");
701+
assert(new Date("2024 Apr 7 2:00 AM").toLocaleString(), "04/07/2024, 02:00:00 AM");
702+
assert(new Date("2024 Apr 7 11:00 AM").toLocaleString(), "04/07/2024, 11:00:00 AM");
703+
assert(new Date("2024 Apr 7 12:00 AM").toLocaleString(), "04/07/2024, 12:00:00 AM");
704+
assert(new Date("2024 Apr 7 1:00 PM").toLocaleString(), "04/07/2024, 01:00:00 PM");
705+
assert(new Date("2024 Apr 7 2:00 PM").toLocaleString(), "04/07/2024, 02:00:00 PM");
706+
assert(new Date("2024 Apr 7 11:00 PM").toLocaleString(), "04/07/2024, 11:00:00 PM");
707+
assert(new Date("2024 Apr 7 12:00 PM").toLocaleString(), "04/07/2024, 12:00:00 PM");
700708
}
701709

702710
function test_regexp()

0 commit comments

Comments
 (0)