According to the time zone database (which gives references to other sources), on January 1, 1906, the local time¹ in Kolkata changed from an offset of 5:21:10 (“Madras time”) to an offset of 5:30 (India Standard Time), which means 8 minutes and 50 seconds were “lost” between December 31, 1905, and January 1, 1906. The latter starts at 00:08:50.
$ TZ=Asia/Kolkata date --date="1/1/1906 00:08:49"
date: invalid date ‘1/1/1906 00:08:49’
$ TZ=Asia/Kolkata date --date="1/1/1906 00:08:50"
Mon 1 Jan 00:08:50 IST 1906
Specifying the date only defaults to 00:00:00, which is invalid.
This happens whenever local time skips forward, e.g. when local time switches from “winter time” to “summer time” (or daylight savings time):
$ TZ=Europe/Paris date --date="03/29/2020 02:30"
date: invalid date ‘03/29/2020 02:30’
¹ For the time zone database’s purposes, “local time” here is defined as “railway time”, i.e. the time used for train timetables in the locality’s railway stations, and other railway-related events. See the India section of the database for Asia for details.
The time zone database considers that Wikipedia’s “Calcutta Time” (5:53:20) was used until 1870, when railway stations changed to Madras time. To add to the confusion, the time zone database refers to 5:53:20 as “Howrah Mean Time” (with some doubt), and “Calcutta Time” is defined with an offset of 5:53:28, in use until June 28, 1854 (again, for railway purposes).