I don't see where lc_time_fmt accepts a timezone argument.
https://openacs.org/api-doc/proc-view?proc=lc%5ftime%5ffmt
It is for formatting a timestamp in a certain language or style. It does not manipulate the value of the timestamp at all.
The optional parameter is for the LOCALE to format the date. So you could format the date in en_US or en_GB which would most likely switch the month/day in the date format. It would not convert the time to GMT.