From d5ee5a4e45c9995d0052fa11f23f34593e6bb508 Mon Sep 17 00:00:00 2001 From: Safwan Samsudeen Date: Tue, 17 Dec 2024 12:37:25 +0200 Subject: [PATCH] fix: dates broken in dst --- src/bar.js | 12 +----------- src/date_utils.js | 5 ++++- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/bar.js b/src/bar.js index 39b3a90..d198f3c 100644 --- a/src/bar.js +++ b/src/bar.js @@ -485,17 +485,7 @@ export default class Bar { x_in_units * this.gantt.config.step, this.gantt.config.unit, ); - const start_offset = - this.gantt.gantt_start.getTimezoneOffset() - - new_start_date.getTimezoneOffset(); - - if (start_offset) { - new_start_date = date_utils.add( - new_start_date, - start_offset, - 'minute', - ); - } + console.log(date_utils.diff(new_start_date, this.gantt.gantt_start)); const width_in_units = bar.getWidth() / this.gantt.config.column_width; const new_end_date = date_utils.add( diff --git a/src/date_utils.js b/src/date_utils.js index f0526bf..cf23041 100644 --- a/src/date_utils.js +++ b/src/date_utils.js @@ -125,7 +125,10 @@ export default { diff(date_a, date_b, scale = 'day') { let milliseconds, seconds, hours, minutes, days, months, years; - milliseconds = date_a - date_b; + milliseconds = + date_a - + date_b + + (date_b.getTimezoneOffset() - date_a.getTimezoneOffset()) * 60000; seconds = milliseconds / 1000; minutes = seconds / 60; hours = minutes / 60;