Python常见函数之 Python 时间戳
来自百度百科: 时间戳,是指用户应用数字签名技术时,产生的涵盖原始文件信息、签名时间、签名参数等信息。 其主要目的是在于,能够通过一定的技术手段认证数据产生的时间,从而得知这段数据在产生之后,是否有被篡改。
个人目前接触到使用领域:在做全球化产品的时候依赖于时间戳在不同时区进行展示
time 时间戳等相关转换
datetime与时间戳格式相互转换
1 2 3 4 5 6 7 8 9 10 11 12
| import datetime import time
dtime = datetime.date.today() unix_time = time.mktime(dtime.timetuple()) print(dtime, unix_time)
dtime2 = datetime.datetime.fromtimestamp(unix_time) print(dtime2) 1234567891011
|
根据时间差获得时间
1
| yestoday = datetime.date.today() + datetime.timedelta(days=-1)
|
datetime 格式与字符串格式的相互转换
1 2 3 4 5 6
| 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') 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] 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)
|