From 58bcb9880b5e9c85cfc67f7aa6601fd96822a580 Mon Sep 17 00:00:00 2001 From: Tim Reichen Date: Thu, 27 Aug 2020 11:12:49 +0200 Subject: test(std/datetime): port golang dayOfYear tests (#7105) --- std/datetime/mod.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'std/datetime/mod.ts') diff --git a/std/datetime/mod.ts b/std/datetime/mod.ts index 64ca49196..a90d4b962 100644 --- a/std/datetime/mod.ts +++ b/std/datetime/mod.ts @@ -47,7 +47,11 @@ export function format(date: Date, formatString: string): string { * @return Number of the day in year */ export function dayOfYear(date: Date): number { - const yearStart = new Date(date.getFullYear(), 0, 0); + // Values from 0 to 99 map to the years 1900 to 1999. All other values are the actual year. (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) + // Using setFullYear as a workaround + const yearStart = new Date(date); + yearStart.setFullYear(date.getFullYear(), 0, 0); + const diff = date.getTime() - yearStart.getTime() + (yearStart.getTimezoneOffset() - date.getTimezoneOffset()) * 60 * 1000; -- cgit v1.2.3