comparison mercurial/util.py @ 19989:c38c3fdc8b93

date: allow %z in format (issue4040)
author Matt Mackall <mpm@selenic.com>
date Thu, 07 Nov 2013 15:24:23 -0600
parents d51c4d85ec23
children a1d88278beff
comparison
equal deleted inserted replaced
19988:8dc6f855f43d 19989:c38c3fdc8b93
1023 append time zone to string.""" 1023 append time zone to string."""
1024 t, tz = date or makedate() 1024 t, tz = date or makedate()
1025 if t < 0: 1025 if t < 0:
1026 t = 0 # time.gmtime(lt) fails on Windows for lt < -43200 1026 t = 0 # time.gmtime(lt) fails on Windows for lt < -43200
1027 tz = 0 1027 tz = 0
1028 if "%1" in format or "%2" in format: 1028 if "%1" in format or "%2" in format or "%z" in format:
1029 sign = (tz > 0) and "-" or "+" 1029 sign = (tz > 0) and "-" or "+"
1030 minutes = abs(tz) // 60 1030 minutes = abs(tz) // 60
1031 format = format.replace("%z", "%1%2")
1031 format = format.replace("%1", "%c%02d" % (sign, minutes // 60)) 1032 format = format.replace("%1", "%c%02d" % (sign, minutes // 60))
1032 format = format.replace("%2", "%02d" % (minutes % 60)) 1033 format = format.replace("%2", "%02d" % (minutes % 60))
1033 try: 1034 try:
1034 t = time.gmtime(float(t) - tz) 1035 t = time.gmtime(float(t) - tz)
1035 except ValueError: 1036 except ValueError: