stftime %z time conversion character

sergio sergio at sergiomb.no-ip.org
Wed Jun 20 15:46:29 CEST 2007


Evan Klitzke wrote:

> Although it is not present in ANSI C, the GNU version of stftime
> supports the conversion character %z, which is a time offset from GMT.
> The four digit time offset is required in RFC 2822 dates/times, and is
> used by a number of other programs as well. I need to convert times
> that use this convention to python time representations, and because
> Python does not support the %z time conversion character I cannot
> simply use the time.strptime function.
> 
> What solutions have people used for this? I'm currently thinking of
> creating a dict that maps four digit time offsets to the time zone
> name and then use the %Z token on that. Is there another (or better)
> way?
> 

I had a similar problem, currently I had solved with a system call 

#The Linux Date Command: TZ=WET date -d "20070823" +%:z 
#example 
timezone = "WET"
year = 2007
month = 2
day = 27
#end of example
cmd="TZ=%s /bin/date -d %.4d%.2d%.2d +%%z" % (timezone,year,month,day) 
print "DEBUG cmd=%s" % cmd
handler=os.popen(cmd, 'r', 1) 
output = "".join(handler.readlines()).strip() 
tz=output[:3]+":"+output[3:] 
handler.close() 
print "DEBUG timezone=%sXX" % tz

---------------------------- 
before I test timezone of my machines like this : 
import time
tzstr=time.strftime("%Z",time.localtime()) 
if tzstr == "WEST" :
        do something 

Hope that can help something 

Best regards,
--
Sérgio M. B. 



More information about the Python-list mailing list