Я пытаюсь создать график с вертикальной линией сетки (выходящей из оси X) каждые 0, 6 утра, полдень и 18:00, используя d3.Я делаю это вручную вычисляя значения тиков в моментах.Я легко вычисляю начало дня с помощью
firstPoint = momenttz(startDate).startOf('day')
, а затем добавляю к нему 6 часов в цикле.
for (let i = 0; i <= days * 24; i += 6) {
hourTickValues.push(firstPoint.clone().add(i, 'hours'));
}
При переходе на летнее время или без него я хочудержите линии по местному времени 6 утра, полдень и 6 вечера.Это будет означать, что два раза в год интервал между сетками будет отличаться, так как между 12:00 и 6:00, входящим в DST, и 7 часами, когда выходит, всего 5 часов.что при добавлении часов ко времени не учитывается переход на летнее время, но при добавлении дней это будет происходить.Я также обнаружил, что добавление дробных дней не работает, оно всегда округляется до целого числа.
Итак, как я могу надежно создать объект даты (momentjs) для каждого 6-го часа в соответствии с настройками часов DST?