The program date sets the system clock, i.e. the clock maintained internally by the operating system. There is a separate clock inside the computer which keeps the time when the computer is off (or rebooting). If you've set the system clock manually, call hwclock to set the hardware clock as well.
hwclock --utc --systohc
(Replace --utc by --localtime if your hardware clock is set to local time. This should only be done if you dual boot with Windows.)
Some distributions have a script that calls hwclock with the right options (--utc or --localtime, and if relevant other hardware-specific options). For example, on Debian, run /etc/init.d/hwclock.sh stop. I don't know about CentOS.
All of this is for a one-time thing. If your computer has a permanent or frequent Internet connection, once you've set the time approximately right manually, make it synchronize its time over the network, using NTP. See cjc's answer.