Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #54244 > unrolled thread

Re: Is %z broken for return values of time.gmtime()?

Started byMichael Schwarz <michi.schwarz@gmail.com>
First post2013-09-16 22:55 +0200
Last post2013-09-16 22:55 +0200
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Is %z broken for return values of time.gmtime()? Michael Schwarz <michi.schwarz@gmail.com> - 2013-09-16 22:55 +0200

#54244 — Re: Is %z broken for return values of time.gmtime()?

FromMichael Schwarz <michi.schwarz@gmail.com>
Date2013-09-16 22:55 +0200
SubjectRe: Is %z broken for return values of time.gmtime()?
Message-ID<mailman.36.1379364943.18130.python-list@python.org>

[Multipart message — attachments visible in raw view] — view raw

On 2013-W38-1, at 19:56, random832@fastmail.us wrote:

> On Mon, Sep 16, 2013, at 9:15, Michael Schwarz wrote:
>> According to the documentation of time.gmtime(), it returns a struct_time
>> in UTC, but %z is replaced by +0100, which is the UTC offset of my OS’s
>> time zone without DST, but DST is currently in effect here (but was not
>> at the timestamp passed to gmtime()).
> 
> The struct_time type does not include information about what timezone it
> is in.

Uhm … Python 3.3 introduced the tm_gmtoff member of struct_time, which contains the offset to UTC. I thought, %z was also introduced in Python 3.3 and so I thought it would use that field. What time zone does it use then? Does it always use the system's time zone?

> You can use datetime.datetime (e.g. datetime.datetime.fromtimestamp(40 *
> 365 * 86400,datetime.timezone.utc) - the datetime.datetime class has a
> strftime method.

I do use that, but I was using time.localtime() to convert a POSIX timestamp to a date using the system's timezone and saw that while a struct_time produced by time.localtime() and formatted using time.strftime() shows the correct time zone (+0100 and +0200 here), it does not for a struct_time produced by time.gmtime(). I think that's strange.

> You should be aware that %F and %T are not portable and won't work on
> windows for example.

I’m aware of that, but thanks. I was toying around and just needed to print the rest of the date.

Regards
Michael

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web