palantir/blueprint

One and two digits years are handled incorrectly

Open

#4,575 opened on Mar 10, 2021

View on GitHub
 (1 comment) (0 reactions) (0 assignees)TypeScript (20,263 stars) (2,167 forks)batch import
P3Package: datetimeType: bughelp wanted

Description

Environment

  • Package version(s): "@blueprintjs/datetime@3.20.5"
  • Operating System: Windows 10 Pro 18363.1379
  • Browser name and version: Chrome 88.0.4324.190 (Official Build) (64-bit)
  • Component: DateInput

Code Sandbox

Please check the example by sandbox link

Preliminary steps which are performed in the example:

  1. set formatDate and parseDate attributes using moment (moment returns expected result)
  2. set minDate as new Date("0001-01-01T00:00:00.000Z")

scenario 1:

Steps to reproduce

  1. enter "0001-01-01" in the date input
  2. check date picker

Actual behavior

The date picker displays "1901" in the year select field and the day is not highlighted

Expected behavior

The date picker displays "1" in the year select field or "0001" and the picked day highlighted

image

scenario 2:

Steps to reproduce

  1. click on the input
  2. pick any two digits year or one digit year from the date picker, for example, "12"

Actual behavior

The input field displays "1912-01-01" and the date picker displays "1912" in the year select field

Expected behavior

The input field displays "0012-01-01" and the date picker displays "12" in the year select field or "0012"

image image

Contributor guide