Systemd updated today for all my Pi's:
$this->bbcode_second_pass_code('', '
2018-04-13 07:46 libsystemd 238.51-1 -> 238.76-1
2018-04-13 07:46 systemd 238.51-1 -> 238.76-1
2018-04-13 07:46 systemd-sysvcompat 238.51-1 -> 238.76-1
')
Since the update, systemd-timesyncd never time syncs after boot. Rolling back the above versions fixes the problem. I rolled back and forward a few times to repeat this and confirmed it on my 2 RPi2 and 1 RPi3. Updated my RPi1 also but problem does not occur there.
Here are the logs on a Rpi with the bad version:
$this->bbcode_second_pass_code('', '
$ journalctl -b -u systemd-timesyncd --no-pager
-- Logs begin at Tue 2018-03-06 09:01:51 AEST, end at Fri 2018-04-13 10:06:36 AEST. --
Apr 12 10:20:18 pi3 systemd[1]: Starting Network Time Synchronization...
Apr 12 10:20:18 pi3 systemd-timesyncd[239]: System clock time unset or jumped backwards, restoring from recorded timestamp: Fri 2018-04-13 09:57:39 AEST
Apr 13 09:57:39 pi3 systemd[1]: Started Network Time Synchronization.
$ timedatectl
Local time: Fri 2018-04-13 10:05:59 AEST
Universal time: Fri 2018-04-13 00:05:59 UTC
RTC time: n/a
Time zone: Australia/Brisbane (AEST, +1000)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
')
There are the logs on a RPi with the previous good version:
$this->bbcode_second_pass_code('', '
$ journalctl -b -u systemd-timesyncd --no-pager
-- Logs begin at Fri 2018-03-23 06:56:58 AEST, end at Fri 2018-04-13 10:28:46 A\
EST. --
Mar 27 22:35:41 pi2 systemd[1]: Starting Network Time Synchronization...
Mar 27 22:35:41 pi2 systemd-timesyncd[233]: System clock time unset or jumped backwards, restoring from recorded timestamp: Fri 2018-04-13 09:47:08 AEST
Apr 13 09:47:08 pi2 systemd[1]: Started Network Time Synchronization.
Apr 13 09:47:09 pi2 systemd-timesyncd[233]: Network configuration changed, trying to establish connection.
Apr 13 09:50:06 pi2 systemd-timesyncd[233]: Synchronized to time server 202.142.142.241:123 (ntp.aussiebroadband.com.au).
Apr 13 09:50:06 pi2 systemd-timesyncd[233]: Network configuration changed, trying to establish connection.
Apr 13 09:50:06 pi2 systemd-timesyncd[233]: Synchronized to time server 202.142.142.241:123 (ntp.aussiebroadband.com.au).
$ timedatectl
Local time: Fri 2018-04-13 10:36:08 AEST
Universal time: Fri 2018-04-13 00:36:08 UTC
RTC time: n/a
Time zone: Australia/Brisbane (AEST, +1000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
')
It doesn't matter which NTP server I use.