Skip to content

[TimePicker] Cannot input times during DST transition on time-only formats #4888

@mbechev

Description

@mbechev

Description

For time-only formats (formats without year/month/day components), the TimePicker should use a safe, non-DST date (like the default date: January 31, 2000) instead of the current system date.

This would allow all valid times (00:00 - 23:59) to be entered regardless of what day the user opens the TimePicker.

Steps To Reproduce

  1. Change your computer's date to a DST transition date. For example, 29 March 2026.
  2. Create a TimePicker with a time-only format HH:mm
  3. In the time input field, try to type 02:00 (or any time between 2:00 AM - 2:59 AM for spring-forward dates). The input will be rejected or invalid because that time doesn't exist on the DST transition date. 02 will be converted to 03 or 3 (depending on the format).

https://stackblitz.com/edit/angular-mfxtnyvz

Actual Behavior

The date for TimePicker is automatically set to the current system date (new Date()) when the user opens the time picker on a day when the clock is moved forward or backward (DST). The user has no control over this—they just want to pick a time, but they're unknowingly affected by what date it is today.

The unexpected time correction also happens on dates outside DST change, for example, 2nd April 2026 — Machine timezone: America/Chicago, and only for TimePicker, which doesn't have an initial date:

https://stackblitz.com/edit/angular-4ttxye3a

Screen.Recording.2026-04-02.at.6.51.56.mov

Expected Behavior

For time-only formats, use a safe default date so that any time can be entered without relying on DST dates.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions