The %h in your strftime call should be %H, because otherwise it will be a three letter month string.
The difference in time is probably a timezone difference. Here it is five and a halve hour. By using localtime you should get the right time.
This is hard to test, because localtime is different for me.