Consider the following time zone and clock time adjustment, which shows the changing differences between a UTC datetime and the equivalent Indo-China datetime:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.time.ZoneId;

...

LocalDateTime localDateTime;

localDateTime = LocalDateTime.parse("1920-03-31T00:00:00");
ZonedDateTime ict_1 = ZonedDateTime.of(localDateTime, ZoneId.of("Asia/Bangkok"));
System.out.println("ICT datetime 1 : " + ict_1);

localDateTime = LocalDateTime.parse("1920-04-01T00:00:00");
ZonedDateTime ict_2 = ZonedDateTime.of(localDateTime, ZoneId.of("Asia/Bangkok"));
System.out.println("ICT datetime 2 : " + ict_2);

localDateTime = LocalDateTime.parse("1920-04-02T00:00:00");
ZonedDateTime ict_3 = ZonedDateTime.of(localDateTime, ZoneId.of("Asia/Bangkok"));
System.out.println("ICT datetime 3 : " + ict_3);

The output is:

ICT datetime 1 : 1920-03-31T00:00:00+06:42:04[Asia/Bangkok]
ICT datetime 2 : 1920-04-01T00:17:56+07:00:00[Asia/Bangkok]
ICT datetime 3 : 1920-04-02T00:00:00+07:00:00[Asia/Bangkok]

(I padded the first and third lines with :00 to include seconds in each output - for data alignment and readability in the above text block.)

The first record shows that on the last day of March, 1920, the Indo-China time zone was 6 hours 42 minutes and 4 seconds ahead of UTC (or, more strictly speaking, ahead of GMT, since UTC had not been established at that point in time).

The third record shows that the ICT time zone had been adjusted to have an offset of exactly 7 hours ahead of UTC. The clock had also been adjusted forward by 17 minutes and 56 seconds.

(The second record appears to show an intermediate state, in which the offset has been adjusted, but the clocks not yet set forward.)

The end result was an adjustment to better align ICT with the hourly offsets typically used by the world’s time zones.

This type of change is not unusual. History is littered with large and small changes to time zones and clock times.

Is there a source to verify that this is what actually happened?

This web site provides the details:

www.timeanddate.com

As the specific page notes:

When local standard time was about to reach Thursday, April 1, 1920, 12:00:00 midnight clocks were turned forward 0:17:56 hours to Thursday, April 1, 1920, 12:17:56 am local standard time instead.

This data can be sourced from the tz database. It’s what Java uses, behind the scenes.

The related rule entry in the Asia tz file (asia) is:

1
2
3
4
5
6
7
# Thailand
# Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
Zone	Asia/Bangkok	6:42:04	-	LMT	1880
			6:42:04	-	BMT	1920 Apr # Bangkok Mean Time
			7:00	-	+07
Link Asia/Bangkok Asia/Phnom_Penh	# Cambodia
Link Asia/Bangkok Asia/Vientiane	# Laos

In this specific case, there is no primary source referenced by the rule.