Previously, the first element was used where the second should have been.
In essence, whereas the algorithm is T[0]<<16 & T[1], the code was previously performing T[0]<<16 & T[0].
The timestamp produced was therefore inaccurate by up to about 18 hours.