0. 前言:
python 中有不同的函数接口,可以取得当前的时间;
- time.strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。
- time.mktime() 它接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。
- time.localtime() 可以获取当前时间的本地时间表示
有时候需要这几种时间格式的转化;
例如将 “2023-12-04 10:48:31.811” 转化成时间戳,或者反之;
1. python 实现这两种转化的代码:
import time
def timestr_to_timestamp(timestr):
timestr1, timestr2 = timestr.split('.')
struct_time = time.strptime(timestr1, '%Y-%m-%d %H:%M:%S')
seconds = time.mktime(struct_time)
millseconds = float(f"0.{timestr2}")
return seconds + millseconds
def timestamp_to_timestr(timestamp):
tre_timeArray = time.localtime(timestamp)
return time.strftime("%Y-%m-%d %H:%M:%S", tre_timeArray)
2. 测试代码如下:
timestamp = 1701657629
print(f'timestamp: {timestamp} - time_str: {timestamp_to_timestr(timestamp)}')
timestr = "2023-12-04 10:48:31.811"
print(f'timestr: {timestr} - timestamp: {timestr_to_timestamp(timestr)}')