summaryrefslogtreecommitdiff
path: root/std/datetime/test.ts
diff options
context:
space:
mode:
authorTim Reichen <timreichen@users.noreply.github.com>2020-09-25 00:06:22 +0200
committerGitHub <noreply@github.com>2020-09-24 18:06:22 -0400
commit9c75e4876f68b36cb8a79bfe5a734d2783c527ce (patch)
tree849f775356d72b0578fce4ed09a5ac5017220e78 /std/datetime/test.ts
parent82db91372f597a0de834937dbb5edabeb68b0138 (diff)
fix(std/datetime):: 12 and 24 support (#7661)
Diffstat (limited to 'std/datetime/test.ts')
-rw-r--r--std/datetime/test.ts91
1 files changed, 69 insertions, 22 deletions
diff --git a/std/datetime/test.ts b/std/datetime/test.ts
index 10de786b6..9d4e58121 100644
--- a/std/datetime/test.ts
+++ b/std/datetime/test.ts
@@ -6,39 +6,43 @@ Deno.test({
name: "[std/datetime] parse",
fn: () => {
assertEquals(
- datetime.parse("01-03-2019 16:30", "MM-dd-yyyy hh:mm"),
+ datetime.parse("01-03-2019 16:30", "MM-dd-yyyy HH:mm"),
new Date(2019, 0, 3, 16, 30),
);
assertEquals(
- datetime.parse("01.03.2019 16:30", "MM.dd.yyyy hh:mm"),
+ datetime.parse("01.03.2019 16:30", "MM.dd.yyyy HH:mm"),
new Date(2019, 0, 3, 16, 30),
);
assertEquals(
- datetime.parse("03-01-2019 16:31", "dd-MM-yyyy hh:mm"),
+ datetime.parse("01.03.2019 16:30", "MM.dd.yyyy HH:mm"),
+ new Date(2019, 0, 3, 16, 30),
+ );
+ assertEquals(
+ datetime.parse("03-01-2019 16:31", "dd-MM-yyyy HH:mm"),
new Date(2019, 0, 3, 16, 31),
);
assertEquals(
- datetime.parse("2019-01-03 16:32", "yyyy-MM-dd hh:mm"),
+ datetime.parse("2019-01-03 16:32", "yyyy-MM-dd HH:mm"),
new Date(2019, 0, 3, 16, 32),
);
assertEquals(
- datetime.parse("16:33 01-03-2019", "hh:mm MM-dd-yyyy"),
+ datetime.parse("16:33 01-03-2019", "HH:mm MM-dd-yyyy"),
new Date(2019, 0, 3, 16, 33),
);
assertEquals(
- datetime.parse("01-03-2019 16:33:23.123", "MM-dd-yyyy hh:mm:ss.SSS"),
+ datetime.parse("01-03-2019 16:33:23.123", "MM-dd-yyyy HH:mm:ss.SSS"),
new Date(2019, 0, 3, 16, 33, 23, 123),
);
assertEquals(
- datetime.parse("01-03-2019 09:33 PM", "MM-dd-yyyy hh:mm a"),
+ datetime.parse("01-03-2019 09:33 PM", "MM-dd-yyyy HH:mm a"),
new Date(2019, 0, 3, 21, 33),
);
assertEquals(
- datetime.parse("16:34 03-01-2019", "hh:mm dd-MM-yyyy"),
+ datetime.parse("16:34 03-01-2019", "HH:mm dd-MM-yyyy"),
new Date(2019, 0, 3, 16, 34),
);
assertEquals(
- datetime.parse("16:35 2019-01-03", "hh:mm yyyy-MM-dd"),
+ datetime.parse("16:35 2019-01-03", "HH:mm yyyy-MM-dd"),
new Date(2019, 0, 3, 16, 35),
);
assertEquals(
@@ -73,31 +77,74 @@ Deno.test({
Deno.test({
name: "[std/datetime] format",
fn: () => {
+ // Date
assertEquals(
"2019-01-01",
- datetime.format(new Date("2019-01-01T03:24:00"), "yyyy-MM-dd"),
+ datetime.format(new Date("2019-01-01"), "yyyy-MM-dd"),
);
assertEquals(
"01.01.2019",
- datetime.format(new Date("2019-01-01T03:24:00"), "dd.MM.yyyy"),
+ datetime.format(new Date("2019-01-01"), "dd.MM.yyyy"),
+ );
+
+ // 00 hours
+ assertEquals(
+ "01:00:00",
+ datetime.format(new Date("2019-01-01T01:00:00"), "HH:mm:ss"),
+ );
+ assertEquals(
+ "13:00:00",
+ datetime.format(new Date("2019-01-01T13:00:00"), "HH:mm:ss"),
+ );
+
+ // 12 hours
+ assertEquals(
+ "01:00:00",
+ datetime.format(new Date("2019-01-01T01:00:00"), "hh:mm:ss"),
+ );
+ assertEquals(
+ "01:00:00",
+ datetime.format(new Date("2019-01-01T13:00:00"), "hh:mm:ss"),
+ );
+
+ // milliseconds
+ assertEquals(
+ "13:00:00.000",
+ datetime.format(new Date("2019-01-01T13:00:00"), "HH:mm:ss.SSS"),
+ );
+ assertEquals(
+ "13:00:00.000",
+ datetime.format(new Date("2019-01-01T13:00:00.000"), "HH:mm:ss.SSS"),
);
assertEquals(
- "03:24:00",
- datetime.format(new Date("2019-01-01T03:24:00"), "hh:mm:ss"),
+ "13:00:00.123",
+ datetime.format(new Date("2019-01-01T13:00:00.123"), "HH:mm:ss.SSS"),
+ );
+
+ // day period
+ assertEquals(
+ "01:00:00 AM",
+ datetime.format(new Date("2019-01-01T01:00:00"), "HH:mm:ss a"),
);
assertEquals(
- "03:24:00.532",
- datetime.format(new Date("2019-01-01T03:24:00.532"), "hh:mm:ss.SSS"),
+ "01:00:00 AM",
+ datetime.format(new Date("2019-01-01T01:00:00"), "hh:mm:ss a"),
);
assertEquals(
- "03:24:00 AM",
- datetime.format(new Date("2019-01-01T03:24:00"), "hh:mm:ss a"),
+ "01:00:00 PM",
+ datetime.format(new Date("2019-01-01T13:00:00"), "hh:mm:ss a"),
);
assertEquals(
- "09:24:00 PM",
- datetime.format(new Date("2019-01-01T21:24:00"), "hh:mm:ss a"),
+ "21:00:00 PM",
+ datetime.format(new Date("2019-01-01T21:00:00"), "HH:mm:ss a"),
);
assertEquals(
+ "09:00:00 PM",
+ datetime.format(new Date("2019-01-01T21:00:00"), "hh:mm:ss a"),
+ );
+
+ // quoted literal
+ assertEquals(
datetime.format(new Date(2019, 0, 20), "'today:' yyyy-MM-dd"),
"today: 2019-01-20",
);
@@ -181,9 +228,9 @@ Deno.test({
Deno.test({
name: "[std/datetime] weekOfYear",
fn: () => {
- assertEquals(datetime.weekOfYear(new Date("2020-01-05T03:24:00")), 1);
- assertEquals(datetime.weekOfYear(new Date("2020-12-28T03:24:00")), 53); // 53 weeks in 2020
- assertEquals(datetime.weekOfYear(new Date("2020-06-28T03:24:00")), 26);
+ assertEquals(datetime.weekOfYear(new Date("2020-01-05T03:00:00")), 1);
+ assertEquals(datetime.weekOfYear(new Date("2020-12-28T03:00:00")), 53); // 53 weeks in 2020
+ assertEquals(datetime.weekOfYear(new Date("2020-06-28T03:00:00")), 26);
// iso weeks year starting sunday
assertEquals(datetime.weekOfYear(new Date(2012, 0, 1)), 52);