src/ztfy/utils/date.py
branchZTK-1.1
changeset 213 ec49fc38bcb4
parent 148 d3668ecd9137
child 237 fca4a296d89e
equal deleted inserted replaced
212:0c2257bf3762 213:ec49fc38bcb4
    24 # import Zope3 packages
    24 # import Zope3 packages
    25 from zope.datetime import parseDatetimetz
    25 from zope.datetime import parseDatetimetz
    26 from zope.i18n import translate
    26 from zope.i18n import translate
    27 
    27 
    28 # import local packages
    28 # import local packages
    29 from timezone import gmtime
    29 from ztfy.utils.request import queryRequest
       
    30 from ztfy.utils.timezone import gmtime, tztime
    30 
    31 
    31 from ztfy.utils import _
    32 from ztfy.utils import _
    32 
    33 
    33 
    34 
    34 def unidate(value):
    35 def unidate(value):
    71     @rtype: datetime
    72     @rtype: datetime
    72     """
    73     """
    73     if type(value) is datetime:
    74     if type(value) is datetime:
    74         return value
    75         return value
    75     return datetime(value.year, value.month, value.day)
    76     return datetime(value.year, value.month, value.day)
       
    77 
       
    78 
       
    79 EXT_DATE_FORMAT = _("on %d/%m/%Y")
       
    80 EXT_DATETIME_FORMAT = _("on %d/%m/%Y at %H:%M")
       
    81 
       
    82 def formatDate(value, format=EXT_DATE_FORMAT, request=None):
       
    83     if request is None:
       
    84         request = queryRequest()
       
    85     return datetime.strftime(tztime(value), translate(format, context=request).encode('utf-8')).decode('utf-8')
       
    86 
       
    87 def formatDatetime(value, format=EXT_DATETIME_FORMAT, request=None):
       
    88     return formatDate(value, format, request)
    76 
    89 
    77 
    90 
    78 def getAge(value):
    91 def getAge(value):
    79     """Get age of a given datetime (including timezone) compared to current datetime (in UTC)
    92     """Get age of a given datetime (including timezone) compared to current datetime (in UTC)
    80     
    93