MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / Time2Internaldate

Function Time2Internaldate

tools/python-3.11.9-amd64/Lib/imaplib.py:1504–1541  ·  view source on GitHub ↗

Convert date_time to IMAP4 INTERNALDATE representation. Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'. The date_time argument can be a number (int or float) representing seconds since epoch (as returned by time.time()), a 9-tuple representing local time, an instance of

(date_time)

Source from the content-addressed store, hash-verified

1502
1503
1504def Time2Internaldate(date_time):
1505
1506 """Convert date_time to IMAP4 INTERNALDATE representation.
1507
1508 Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'. The
1509 date_time argument can be a number (int or float) representing
1510 seconds since epoch (as returned by time.time()), a 9-tuple
1511 representing local time, an instance of time.struct_time (as
1512 returned by time.localtime()), an aware datetime instance or a
1513 double-quoted string. In the last case, it is assumed to already
1514 be in the correct format.
1515 """
1516 if isinstance(date_time, (int, float)):
1517 dt = datetime.fromtimestamp(date_time,
1518 timezone.utc).astimezone()
1519 elif isinstance(date_time, tuple):
1520 try:
1521 gmtoff = date_time.tm_gmtoff
1522 except AttributeError:
1523 if time.daylight:
1524 dst = date_time[8]
1525 if dst == -1:
1526 dst = time.localtime(time.mktime(date_time))[8]
1527 gmtoff = -(time.timezone, time.altzone)[dst]
1528 else:
1529 gmtoff = -time.timezone
1530 delta = timedelta(seconds=gmtoff)
1531 dt = datetime(*date_time[:6], tzinfo=timezone(delta))
1532 elif isinstance(date_time, datetime):
1533 if date_time.tzinfo is None:
1534 raise ValueError("date_time must be aware")
1535 dt = date_time
1536 elif isinstance(date_time, str) and (date_time[0],date_time[-1]) == ('"','"'):
1537 return date_time # Assume in correct format
1538 else:
1539 raise ValueError("date_time not of a known type")
1540 fmt = '"%d-{}-%Y %H:%M:%S %z"'.format(Months[dt.month])
1541 return dt.strftime(fmt)
1542
1543
1544

Callers 1

appendMethod · 0.85

Calls 7

timedeltaClass · 0.90
datetimeClass · 0.90
timezoneClass · 0.90
astimezoneMethod · 0.80
fromtimestampMethod · 0.45
formatMethod · 0.45
strftimeMethod · 0.45

Tested by

no test coverage detected