Setting time on RTC -- your comments?

The RTC uses binary-coded decimal, not straight binary.
Here is a brief explanation of binary versus binary-coded decimal.
(BCD = binary-coded decimal)

Binary: bits are valued 128, 64, 32, 16, 8, 4, 2, 1
   BCD: bits are valued  80, 40, 20, 10, 8, 4, 2, 1

Dec   binary      BCD
---  --------  --------
  0  00000000  00000000
  1  00000001  00000001
  2  00000010  00000010
...  ........  ........
  7  00000111  00000111
  8  00001000  00001000
  9  00001001  00001001
 10  00001010  00010000
 11  00001011  00010001
...  ........  ........
 15  00001111  00010101
 16  00010000  00010110
...  ........  ........
 19  00010011  00011001
 20  00010100  00100000
...  ........  ........
 99  01100011  10011001

If you try to print a BCD number the way you would print an ordinary number, it will come out wrong.
Try printing it as HEX and see what you get.