I'm running Raspbian Jessie with all recent updates.When using Pi 2 or 3 time/date is not synchronizing at boot.NTP needs more than one server to compare against, vote and pick the 'best' time source from. If this is a virtual server then there are other things you need to do to keep ntp in check on linux. This answer should go to the top, because it is correct: ntpdate is deprecated and installing it is a bad idea, because it conflicts with ntp.If the clock is way off, you need to do this manual step because otherwise ntp will not change your clock and will not tell you why.# apt-get install fake-hwclock fake-hwclock: Save/restore system clock on machines without working RTC hardware Some machines don't have a working realtime clock (RTC) unit, or no driver for the hardware that does exist.
From ntpdate's man page: "Force the time to be stepped using the settimeofday() system call, rather than slewed (default) using the adjtime() system call.I don't know if it is related, but I also noticed that the system time did not update using the Pi 3 onboard Wi Fi.It updates normally with a (Ralink based) dongle though.This option should be used when called from a startup file at boot time." Many of the answers below do not include it, and that maybe part of the problem in getting things to work.Consider that the the '-B' flag it mentions that offsets over 128 ms can take hours to sync using the default 'slew' mechanism The "-q" option tells the NTP daemon to start up, set the time and immediately exit.
On the one machine NTP doesn't seem to ever find a server and sync to it.