time() returns epoch time, which would be the same (for your type of OS) all over the world. It has no idea about GMT. It's just a number, the number of seconds passed since a reference date, commonly 1.1.1970 at 0:00:00, GMT. That's a moment in time in history, expressed in GMT.
You're probably using gmtime() in your conversion to string, while you should be using localtime() instead.
my $time = 1094736647;
print scalar gmtime($time);
print "\n";
print scalar localtime($time);