1. 将13位整数的时间戳 转化为 字符串
将 13 位整数的毫秒级时间戳转化成 本地普通时间 (字符串格式)
from datetime import datetime
def timestamp_to_strtime(timestamp: int):
"""将 13 位整数的毫秒时间戳转化成本地普通时间 (字符串格式)
:param timestamp: 13 位整数的毫秒时间戳 (1688091489786)
:return: 返回字符串格式 {str} '2023-06-30 10:18:09.786000'
"""
timeArry = datetime.fromtimestamp(timestamp / 1000.0)
strtime =timeArray.strftime('%Y-%m-%d %H:%M:%S.%f') # .%f 带不带都可
return strtime
2. 将10位整数的时间戳 转化为 字符串
将 10 位整数的秒级时间戳转化成 本地普通时间 (字符串格式)
from datetime import datetime
def timestamp_to_strtime(timestamp: int):
"""将 10 位整数的秒级时间戳转化成本地普通时间 (字符串格式)
:param timestamp: 10 位整数的秒级时间戳 (1688091489)
:return: 返回字符串格式 {str} '2022-06-11 18:19:48'
"""
timeArry = datetime.fromtimestamp(timestamp)
strtime =timeArray.strftime('%Y-%m-%d %H:%M:%S') # .%f 带不带都可
return strtime
3. 13 位整数转化成 datetime格式
将 13 位整数的毫秒时间戳转化成本地普通时间 (datetime格式)
import time
from datetime import datetime
def timestamp_to_datetime(timestamp: int):
"""将 13 位整数的毫秒时间戳转化成本地普通时间 (datetime 格式)
:param timestamp: 13 位整数的毫秒时间戳 (1688091489786)
:return: 返回 datetime 格式 {datetime} 2023-06-30-101809.786999
"""
timeArray= datetime.fromtimestamp(timestamp / 1000.0)
return timeArray
4. 10 位整数转化成 datetime格式
将 10 位整数的秒级时间戳转化成本地普通时间 (datetime格式)
import time
from datetime import datetime
def timestamp_to_datetime(timestamp: int):
"""将 10 位整数的毫秒时间戳转化成本地普通时间 (datetime 格式)
:param timestamp: 10 位整数的秒级时间戳 (1654942788)
:return: 返回 datetime 格式 {datetime} 2023-06-30-101809
"""
timeArray= datetime.fromtimestamp(timestamp)
return timeArray
5. datetime格式的时间(含毫秒) 转化为 字符串
import time
from datetime import datetime
def datetime_to_strtime(datetime):
"""将 datetime 格式的时间 (含毫秒) 转为字符串格式
:param datetime_obj: {datetime} 2023-06-30-101809.786000
:return: {str} '2023-06-30-101809.786'
"""
strtime= datetime.strftime("%Y-%m-%d %H%M%S.%f")
return strtime
6. 字符串格式的时间(含毫秒) 转化为 datetime
def strtime_to_datetime(strtime :str):
"""将字符串格式的时间 (含毫秒) 转为 datetime 格式
:param timestr: {str}'2023-06-30-101809.786'
:return: {datetime}2023-06-30-101809.786000
"""
timeArray= datetime.strptime(strtime, "%Y-%m-%d %H:%M:%S.%f")
return timeArray
7. 字符串格式(含毫秒) 转为 13 位整数的毫秒时间戳
from datetime import datetime
def convert_strtime_to_timestamp(strtime: str):
"""将本地时间 (字符串格式,含毫秒) 转为 13 位整数的毫秒时间戳
:param strtime: {str}'2023-06-30-101809.786'
:return: 1688091489786
"""
timeArray= datetime.strptime(strtime, "%Y-%m-%d %H:%M:%S.%f")
timestamp = int(time.mktime(timeArray.timetuple()) * 1000.0 + timeArray.microsecond / 1000.0)
return timestamp
8. 字符串格式(含毫秒) 转为 10 位整数的毫秒时间戳
from datetime import datetime
def convert_strtime_to_timestamp(strtime: str):
"""将本地时间 (字符串格式,含毫秒) 转为 10 位整数的时间戳
:param local_timestr: {str}'2023-06-30-101809.786'
:return: 1688091489786
"""
timeArray= datetime.strptime(strtime, "%Y-%m-%d %H:%M:%S")
timestamp = int(time.mktime(timeArray)
return timestamp
9. 返回本地当前时间, 包含datetime 格式, 字符串格式, 时间戳格式
from datetime import datetime
def current_datetime():
"""返回本地当前时间, 包含datetime 格式, 字符串格式, 时间戳格式
:return: (datetime 格式, 字符串格式, 时间戳格式)
"""
# 当前时间:datetime 格式
local_datetime_now = datetime.now()
# 当前时间:字符串格式
local_strtime_now = local_datetime_now.strftime("%Y-%m-%d %H:%M:%S.%f")
# 当前时间:时间戳格式 13位整数
local_timestamp_now = int(time.mktime(local_datetime_now.timetuple()) * 1000.0 + local_datetime_now.microsecond / 1000.0)
return local_datetime_now, local_strtime_now, local_timestamp_now
参考:https://blog.csdn.net/u014651560/article/details/124244457