mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
Added a usegmt flag to email.Utils.formatdate - this allows it to be
used to replace rfc822.formatdate for protocols like HTTP (where 'GMT' must be the timezone string).
This commit is contained in:
parent
7f468f29f4
commit
3dd9e46161
5 changed files with 28 additions and 7 deletions
|
|
@ -103,7 +103,7 @@ ecre = re.compile(r'''
|
|||
|
||||
|
||||
|
||||
def formatdate(timeval=None, localtime=False):
|
||||
def formatdate(timeval=None, localtime=False, usegmt=False):
|
||||
"""Returns a date string as specified by RFC 2822, e.g.:
|
||||
|
||||
Fri, 09 Nov 2001 01:08:47 -0000
|
||||
|
|
@ -114,6 +114,10 @@ def formatdate(timeval=None, localtime=False):
|
|||
Optional localtime is a flag that when True, interprets timeval, and
|
||||
returns a date relative to the local timezone instead of UTC, properly
|
||||
taking daylight savings time into account.
|
||||
|
||||
Optional argument usegmt means that the timezone is written out as
|
||||
an ascii string, not numeric one (so "GMT" instead of "+0000"). This
|
||||
is needed for HTTP, and is only used when localtime==False.
|
||||
"""
|
||||
# Note: we cannot use strftime() because that honors the locale and RFC
|
||||
# 2822 requires that day and month names be the English abbreviations.
|
||||
|
|
@ -138,7 +142,10 @@ def formatdate(timeval=None, localtime=False):
|
|||
else:
|
||||
now = time.gmtime(timeval)
|
||||
# Timezone offset is always -0000
|
||||
zone = '-0000'
|
||||
if usegmt:
|
||||
zone = 'GMT'
|
||||
else:
|
||||
zone = '-0000'
|
||||
return '%s, %02d %s %04d %02d:%02d:%02d %s' % (
|
||||
['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'][now[6]],
|
||||
now[2],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue