The problem is that Java has an error in the name of the time zone abbreviation for Europe and London in 1970.
In the winter of 1970, the United Kingdom was still at UTC + 1, but Java believes that it is still called GMT. So, what you see is local time at midnight UTC on January 1, 1970 ... it's just that we're used to GMT = UTC, which is why it is confusing.
(As a side note, it’s still worth switching to Joda Time anyway. Avoid built-in libraries like the plague :)
Joda Time prints the abbreviated time in the time zone as "BST". It seems just as bizarre that it’s clear that it wasn’t summer time ... but it’s possible that the “S” here is the standards for Standard, as it was during the “British Standard Time Experiment”. See Wikipedia for more details.
(Note that UTC itself did not even exist in the Unix era - it was introduced in 1972. I accept proletic UTC for this answer :)
source share