NTP daemons don't want to do a sudden massive jump in system time. For one, it borks the chronology of entries in your log files, system daemons might freak out, etc. What it does instead is "drift" your system clock into place. If you want to check how far off from "the actual time" you are you can query an ntp server:
ntpdate -q pool.ntp.org
NTP works by adjusting the length of a second on your system by a slight bit so that you slowly get the correct time. It can take a while for the drift to happen if your offset is high. What you can do though is force a hard sync once:
service ntp stop
ntpdate pool.ntp.org
service ntp start
Sometimes internet routers have problems passing through NTP traffic. The reason is that UDP is a bit more trickier to forward than TCP and sometimes the port is even used on the device itself for an NTP daemon.
You can easily check if your Router is blocking NTP with the tool ntpdate (which is kind of a single use version of ntpd):
ntpdate pool.ntp.org - this call behaves like ntpd as long you run it as root and ntpd is not running at the same time. This command fails if your router blocks NTP
ntpdate -u pool.ntp.org - this call uses an unprivileged port, which much more likely works.
In case your router blocks NTP, what can you do?
Unfortunately, ntpd doesn't support any other way of communication than opening the port 123.
Fortunately, there are alternative implementations which use different ports:
Best Answer
To stop ntpd:
or
To prevent it from starting at boot: