Looking at zopes strftime function it actually tries to convert the store time to be the localtime zone and then deliberately passes it to datetime.strftime as timezonenieve. Then "%z" and "%Z" get displayed as empty.
This could have other implications. For example a time stored without DST could change when displayed during DST.
I suspect the best solution is to call .todatetime.strftime directly. Not sure if this will have other implications.
Looking at zopes strftime function it actually tries to convert the store time to be the localtime zone and then deliberately passes it to datetime.strftime as timezonenieve. Then "%z" and "%Z" get displayed as empty. This could have other implications. For example a time stored without DST could change when displayed during DST.
I suspect the best solution is to call .todatetime.strftime directly. Not sure if this will have other implications.