Определите, в каком часовом поясе вы находитесь:
time("O");
Выясните, в какое время вы находитесь:
time("H:i")
Сделайте некоторую магию, чтобы понять, нужно ли вам прибавлять или вычитать время, чтобы добраться до полуночи, затем добавьте или вычтите разницу между вашим временем и полуночей, чтобы получить разницу в часовом поясе, и добавьте ее в свой часовой пояс. Вуаля.
Редактировать: См. Ответ @ TheTXI о "магии"