Why is my real time clock getting the wrong time from my PC?
The __DATE__ and __TIME__ are set when the code is compiling so they will naturally be behind since the code still needs to finish compiling and then be flashed to the chip.

See the Arduino Playground for an example of how to sync it to your computer over serial.


  TimeSerial.pde shows Arduino as a clock without external hardware.
  
  It is synchronized by time messages sent over the serial port.   A
  companion Processing sketch will automatically provide these messages 
  if it is running and connected to the Arduino serial port.