def to_unix_ms_tz(dt: datetime) -> Tuple[int, Union[int, None]]:
"""
convert a datetime to number of milliseconds since 1970 and calculate timezone offset
:param dt: datetime to evaluate
:return: tuple - (unix time in milliseconds, utc offset in seconds)
"""
utcoffset = dt.utcoffset()
if utcoffset is not None:
_utcoffset = utcoffset.total_seconds()
unix = (dt - EPOCH_TZ).total_seconds() + _utcoffset
return int(unix * 1000), int(_utcoffset)
else:
return int((dt - EPOCH).total_seconds() * 1000), None
评论列表
文章目录