20 lines
805 B
Python
20 lines
805 B
Python
|
|
from datetime import datetime, timezone, timedelta
|
|||
|
|
|
|||
|
|
def datetime_to_timestamp(date_str: str) -> int:
|
|||
|
|
"""
|
|||
|
|
将日期字符串(如 '2023-01-01 12:00:00')直接转换为毫秒级时间戳
|
|||
|
|
:param date_str: 形如 '2023-01-01 12:00:00' 的日期时间字符串
|
|||
|
|
:return: 毫秒级时间戳
|
|||
|
|
"""
|
|||
|
|
dt = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
|
|||
|
|
return int(dt.timestamp() * 1000)
|
|||
|
|
|
|||
|
|
def timestamp_to_datetime(timestamp: int) -> str:
|
|||
|
|
"""
|
|||
|
|
将时间戳转换为日期字符串
|
|||
|
|
请考虑日期字符串位于北京时区
|
|||
|
|
:param timestamp: 以毫秒为单位的时间戳
|
|||
|
|
:return: 形如 '2023-01-01 12:00:00' 的日期时间字符串
|
|||
|
|
"""
|
|||
|
|
dt = datetime.fromtimestamp(timestamp / 1000, timezone(timedelta(hours=8)))
|
|||
|
|
return dt.strftime('%Y-%m-%d %H:%M:%S')
|