Credo che nel momento in cui chiedi l'ora, anche con un timestamp, ti dica l'ora del server, mica quella del pc.
In base al fuso del server, diminuisci, come nel caso dell'italia, il timestamp di -3600 e hai l'ora di greenwich (chiaramente va convertita con date("H:m:s", time()); )