Python常见函数之 python时间戳

Python常见函数之 Python 时间戳

来自百度百科: 时间戳,是指用户应用数字签名技术时,产生的涵盖原始文件信息、签名时间、签名参数等信息。 其主要目的是在于,能够通过一定的技术手段认证数据产生的时间,从而得知这段数据在产生之后,是否有被篡改。

个人目前接触到使用领域:在做全球化产品的时候依赖于时间戳在不同时区进行展示

time 时间戳等相关转换

datetime与时间戳格式相互转换

1
2
3
4
5
6
7
8
9
10
11
12
import datetime
import time

# 将datetime转换为unix时间戳
dtime = datetime.date.today()
unix_time = time.mktime(dtime.timetuple())
print(dtime, unix_time) # 2019-09-02 1567353600.0

# 将unix时间戳转换成datetime
dtime2 = datetime.datetime.fromtimestamp(unix_time)
print(dtime2)
1234567891011

根据时间差获得时间

1
yestoday = datetime.date.today() + datetime.timedelta(days=-1)  # days=-1,代表昨天,-2代表前天,1代表明天...

datetime 格式与字符串格式的相互转换

1
2
3
4
5
6
# datetime 格式与字符串格式的相互转换
today_str =datetime.date.today().strftime("%Y-%m-%d") # 转换为字符串
today_datetime = datetime.datetime.strptime("2019-09-01 00:00:00", '%Y-%m-%d %H:%M:%S') # 转换为datetime
print(today_str,type(today_str))
print(today_datetime,type(today_datetime))
12345

定时时间表

比如获得24个小时的列表(以下是每隔半个小时)

1
2
3
4
5
6
def get_time_list(self):
start_time = datetime.datetime.strptime("2019-08-28 14:00:00", '%Y-%m-%d %H:%M:%S')
unix_start_time = time.mktime(start_time.timetuple()) # 转换成时间戳
un_timelist = [(unix_start_time+i) for i in range(0, 86400+1, 1800)]
timelist = [datetime.datetime.fromtimestamp(un_time) for un_time in un_timelist] # 再转换成datetime格式
return timelist

各个级别的时间戳获取

1
2
3
4
5
6
7
import time
import datetime

original=time.time() # 原始时间戳
Secondlevel =int(original) # 秒级别时间戳
millisecondlevel=int(round(original*1000) # 毫秒级别时间戳
microsecondlevel=int(round(original*1000000) # 微秒级别时间戳

毫秒级别时间戳转换时间

1
2
3
4
5
6
7
8
9
10
import time

def timeStamp(timeNum):
timeStamp = float(timeNum / 1000)
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)


timeStamp(1622674800000) # 2021-06-02 23:00:00

Python常见函数之 python时间戳
https://dreamshao.github.io/2024/06/27/python时间戳/
作者
Yun Shao
发布于
2024年6月27日
许可协议