equal
deleted
inserted
replaced
15 |
15 |
16 __docformat__ = "restructuredtext" |
16 __docformat__ = "restructuredtext" |
17 |
17 |
18 # import standard packages |
18 # import standard packages |
19 import pytz |
19 import pytz |
|
20 from datetime import date |
20 |
21 |
21 # import Zope3 interfaces |
22 # import Zope3 interfaces |
22 from zope.interface.common.idatetime import ITZInfo |
23 from zope.interface.common.idatetime import ITZInfo |
23 from zope.publisher.interfaces.browser import IBrowserRequest |
24 from zope.publisher.interfaces.browser import IBrowserRequest |
24 |
25 |
46 |
47 |
47 |
48 |
48 def tztime(value): |
49 def tztime(value): |
49 if not value: |
50 if not value: |
50 return None |
51 return None |
|
52 if isinstance(value, date): |
|
53 return value |
51 if not value.tzinfo: |
54 if not value.tzinfo: |
52 value = GMT.localize(value) |
55 value = GMT.localize(value) |
53 return value.astimezone(tzinfo()) |
56 return value.astimezone(tzinfo()) |
54 |
57 |
55 |
58 |
56 def gmtime(value): |
59 def gmtime(value): |
57 if not value: |
60 if not value: |
58 return None |
61 return None |
|
62 if isinstance(value, date): |
|
63 return value |
59 if not value.tzinfo: |
64 if not value.tzinfo: |
60 value = GMT.localize(value) |
65 value = GMT.localize(value) |
61 return value.astimezone(GMT) |
66 return value.astimezone(GMT) |