Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Habits & Summaries: Timezone bug?

未關閉 適合新手
#786 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
78/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
javascript

研究方向

檢查 Habit & Summary Charts 的座標軸刻度標籤路徑,尤其是 YYYY-MM-DD 值轉換為 Date 物件的地方;issue 將此處確定為可能的入口點。在 America/Denver 中使用 last-2-weeks 時間段重現,並將標籤與 tooltips 進行比較。完成的標準是座標軸標籤與該時間段和 tooltips 中的日期一致,同時不改變底層資料。

由索引模型根據 Issue 內容生成。

描述

bug

Checks

  • I confirm I have restarted NotePlan and this problem still persists.
  • I confirm I have reinstalled the Plugin and this problem still persists.
  • Is this a repeatable problem?

System

  • Device OS: macOS Version 27.0 (26A428), iOS 27.0 (24A437)
  • NotePlan Version: Version 3.21.3 (1534)
  • Plugin Name & Version: "Habit & Summary Charts" v1.2.0
  • Timezone: America/Denver (MDT, UTC-6)

Describe the bug
Chart x-axis labels are one day earlier than the dates of the data plotted above them. Tooltips show the correct date, so the data appears to be keyed correctly and only the axis tick labels are shifted.

With Period set to "last 2 weeks" (header: 2026-09-14 - 2026-09-27), the x-axis runs Sep 13 - Sep 26.

Examples from the same view:

  • @bike logged Sep 24 (16.4) and Sep 25 (30.8). The bars appear above the labels "Sep 23" and "Sep 24". Hovering them shows tooltips "Thu, 24 Sep 2026" and "Fri, 25 Sep 2026".
  • @run logged Sep 15 (4.1). The bar appears above the label "Sep 14".
  • Sep 13's daily note has @bike, @run and @swim entries. The chart has a "Sep 13" label with nothing above it, because that slot is really Sep 14 (Sep 13 is correctly outside the period).

Happens on both macOS and iOS.

Likely cause: the tick labels look like they're built from new Date('YYYY-MM-DD'), which JavaScript parses as UTC midnight, then formatted in local time. West of UTC, midnight UTC on Sep 14 displays as Sep 13. The tooltip seems to use a different path that gets it right. Constructing local dates for the ticks should fix it, e.g. new Date(y, m - 1, d), new Date(str + 'T00:00:00'), or moment(str, 'YYYY-MM-DD'). This wouldn't show up for anyone at UTC or east of it.

What do you expect it to do instead?
Axis labels should match the period (Sep 14 - Sep 27) and the tooltip date for each bar.

To Reproduce

  1. Set system timezone to one west of UTC (e.g. America/Denver)
  2. Log a value (e.g. @run(4.1)) in a daily note
  3. Open Habit & Summary Charts and choose a period containing that day
  4. Compare the axis label under the bar with the date in its tooltip
  5. See the axis label is one day earlier

Screenshots

Image Image Image Image Image
主要語言
JavaScript
星號
204
分支
83
平均合併
22 小時 27 分鐘
30 天內合併 PR
3

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

NotePlan/plugins 的其他 Issue

查看 NotePlan/plugins 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。