For some reason it is three hours out (it shows 12:56 when the actual time was 9:56). I wonder if this is to do with localtime(...)? As my server is three hours ahead of local... but all my other times return the correct local time i.e. I already have date_offset at -3.
Or could it be that two negatives make a positive!! time - (-3) adds on three