1.1 --- a/DateSupport.py Mon May 06 18:06:04 2013 +0200
1.2 +++ b/DateSupport.py Tue May 07 19:49:09 2013 +0200
1.3 @@ -373,19 +373,19 @@
1.4 def __str__(self):
1.5 return Date.__str__(self) + self.time_string()
1.6
1.7 - def time_string(self, zone_as_offset=0):
1.8 + def time_string(self, zone_as_offset=False, time_prefix=" ", zone_prefix=" "):
1.9 if self.has_time():
1.10 data = self.as_tuple()
1.11 - time_str = " %02d:%02d" % data[3:5]
1.12 + time_str = "%s%02d:%02d" % ((time_prefix,) + data[3:5])
1.13 if data[5] is not None:
1.14 time_str += ":%02d" % data[5]
1.15 if data[6] is not None:
1.16 if zone_as_offset:
1.17 utc_offset = self.utc_offset()
1.18 if utc_offset:
1.19 - time_str += " %+03d:%02d" % utc_offset
1.20 + time_str += "%s%+03d:%02d" % ((zone_prefix,) + utc_offset)
1.21 else:
1.22 - time_str += " %s" % data[6]
1.23 + time_str += "%s%s" % (zone_prefix, data[6])
1.24 return time_str
1.25 else:
1.26 return ""
1.27 @@ -400,7 +400,7 @@
1.28 ) + tuple(self.data[3:6]))
1.29
1.30 def as_ISO8601_datetime_string(self):
1.31 - return Date.__str__(self) + self.time_string(1)
1.32 + return Date.__str__(self) + self.time_string(zone_as_offset=True, time_prefix="T", zone_prefix="")
1.33
1.34 def as_datetime(self):
1.35 return self
2.1 --- a/tests/test_dates.py Mon May 06 18:06:04 2013 +0200
2.2 +++ b/tests/test_dates.py Tue May 07 19:49:09 2013 +0200
2.3 @@ -7,6 +7,9 @@
2.4 ts1 = Timespan(d1, d1)
2.5 ts2 = Timespan(d1, d2)
2.6
2.7 +print "d1:", d1, d1.as_ISO8601_datetime_string()
2.8 +print "d2:", d2, d2.as_ISO8601_datetime_string()
2.9 +
2.10 # expected result operands
2.11 print "%r : %r <- %r < %r" % (d1 < d2, d1 < d2, d1, d2)
2.12 print "%r : %r <- %r == %r" % (not d1 == d2, d1 == d2, d1, d2)