Python 时间戳 时间计算
念槐聚 人气:0由于实际需要,简要写了个小脚本,并打包生成exe,供无网络环境下使用
脚本1:显示当前时间与时间戳,以及10分钟后的时间与时间戳
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """
import time import datetime t=datetime.datetime.now() #当前日期 t1 =t.strftime('%Y-%m-%d %H:%M:%S') #转为秒级时间戳 ts1=time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 end_time=int(str(ts1*1000).split(".")[0]) #10分钟后 t2 = (t+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S") # t2=(t-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S") #转为秒级时间戳 ts2=time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 start_time=int(str(ts2*1000).split(".")[0]) #print("\n","*"*30) print("\n") print("*"*30) print("当前时间戳:") print(start_time) print("当前时间:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts2))) print("*"*30,"\n") print("10分钟后的时间戳:") print(end_time) print("10分钟后的时间:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts1))) print("*"*30,"\n")
脚本2:显示当前时间与时间戳,以及10分钟后的时间与时间戳,允许根据输入的指定时间,生成多久之后的时间戳
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """
import time import datetime t=datetime.datetime.now() #当前日期 t1 =t.strftime('%Y-%m-%d %H:%M:%S') #转为秒级时间戳 ts1=time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 end_time=int(str(ts1*1000).split(".")[0]) #10分钟后 t2 = (t+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S") # t2=(t-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S") #转为秒级时间戳 ts2=time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 start_time=int(str(ts2*1000).split(".")[0]) #print("\n","*"*30) print("\n") print("*"*30) print("当前时间戳:") print(start_time) print("当前时间:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts2))) print("*"*30,"\n") # 10分钟后的时间戳 print("10 分钟后的时间戳:") print(end_time) print("10 分钟后的时间:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts1))) print("*"*30,"\n") # 用户自定义时间 time_user = input("需要多少分钟后的时间戳(请输入正确int类型数值):") t3 = (t+datetime.timedelta(minutes=int(time_user))).strftime("%Y-%m-%d %H:%M:%S") ts3=time.mktime(time.strptime(t3, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 start_time=int(str(ts3*1000).split(".")[0]) print(time_user + " 分钟后的时间戳:") print(end_time) print(time_user + " 分钟后的时间:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts3))) print("*"*30,"\n")
脚本3:显示部分时间与时间戳等
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """ import time import datetime from datetime import timezone from datetime import timedelta # 显示当前秒级时间戳与毫秒级时间戳、微秒级时间戳 t = time.time() #print(t) # 原始时间数据 #print(int(t)) # 秒级时间戳 #print(int(round(t * 1000))) # 毫秒级时间戳 #print(int(round(t * 1000000))) # 微秒级时间戳 # 显示当前日期: dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') dt_ms = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 含微秒的日期时间,来源 比特量化 print("当前日期(s): " + dt) print("当前日期(ms): " + dt_ms) # 将日期转为秒级时间戳 #dtt = '2018-01-01 10:40:30' #dtts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) #ts_ms = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) t=datetime.datetime.now() print("当前时间戳(s): " + t) print("当前时间戳(ms): " + (int(round(t * 1000)))) # 国际标准时间 print("国际标准时间: "+time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())) # 本地时间 print("本地当前时间: "+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) # 将当前日期转为秒级时间戳 dt = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) dt_ts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) print("当前时间: " + dt) print("当前时间戳: " + dt_ts) # 将获取十分钟后的秒级时间戳 #dt_10 = int((datetime.datetime.now()+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S")) #ts_10 = int(time.mktime(time.strptime(dt_10, "%Y-%m-%d %H:%M:%S"))) after10 = (datetime.datetime.now()+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S") after10_ts = int(time.mktime(time.strptime(t1,after10))) print("10分钟后的时间: " + after10) print("10分钟后的时间戳: "
脚本4:显示部分时间与时间戳等
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:08 IDE: PyCharm Introduction: """ import datetime import time print('*'*30 +"获取时间方式") #获取当前时间:Thu Nov 03 16:40:00 2016 print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) #获取当前时间:2016-11-03 16:40:00 print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) #获取年,月,日:2016-11-03 print(datetime.date.today()) #获取当前时间:2016-11-03 16:43:14.550000 print(datetime.datetime.now()) #不加参数是00:00,参数days=1表示一天:1 day, 0:00:00 print(datetime.timedelta(days=1)) #获取昨天日期:2016-11-02 nowtime=datetime.date.today() oldtime=datetime.timedelta(days=1) print(nowtime-oldtime) #获取昨天的精确日期 oldtime=datetime.timedelta(days=1) print (datetime.datetime.now() - oldtime) print ('*'*30 + 'python时间处理之time模块') import time # 返回时间戳 # print(time.time()) # 返回当前时间 print(time.ctime()) # 返回一天前的时间 print(time.ctime(time.time()-86400)) # 函数返回time.struct_time类型的对象 time_obj = time.gmtime() print(time_obj) #结果:time.struct_time(tm_year=2016, tm_mon=7, tm_mday=27, tm_hour=8, tm_min=52, tm_sec=26, tm_wday=2, tm_yday=209, tm_isdst=0) # 格式化输出: print(time_obj.tm_year,time_obj.tm_mon,time_obj.tm_mday) print("{year}-{month}".format(year=time_obj.tm_year,month=time_obj.tm_mon)) # 以time.struct_time类型,打印本地时间 print(time.localtime()) # 转换成时间戳 time_obj = time.gmtime() print(time.mktime(time_obj)) # 延时2秒 time.sleep(2) # 打印UTC,世界标准时间,北京时区是东八区,领先UTC八个小时 print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())) # 本地时间 print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) # 把time.struct_time类型时间,转换成时间戳 tm = time.strptime("2016-05-6 15:06:33","%Y-%m-%d %H:%M:%S") print(tm) print(time.mktime(tm)) print ('*'*30 + '3-python时间处理之datetime模块') import datetime # 打印当前,年,月,日 print(datetime.date.today()) # 打印当前时间,精确到微秒 current_time = datetime.datetime.now() print(current_time) # 转成time.struct_time格式时间 current_time = datetime.datetime.now() print(current_time.timetuple()) # 加十天 print(datetime.datetime.now() +datetime.timedelta(days=10)) # 减十天 print(datetime.datetime.now() +datetime.timedelta(days=-10)) # 减十个小时 print(datetime.datetime.now() +datetime.timedelta(hours=-10)) # 加120s print(datetime.datetime.now() +datetime.timedelta(seconds=120)) # 替换成指定的时间 cr_time = datetime.datetime.now() print(cr_time.replace(2014,9,12)) # 结果:2014-09-12 17:28:17.522893 # 格式化输出 print(datetime.datetime.strptime("21/11/06 16:30","%d/%m/%y %H:%M")) # 替换成指定时间后,类型是<class 'datetime.datetime'> current_time = datetime.datetime.now() time_obj = current_time.replace(2015,5) print(time_obj,type(time_obj)) # 结果:2015-05-27 17:34:13.350245 <class 'datetime.datetime'> # 对比时间大小,取指定时间范围使用 current_time = datetime.datetime.now() time_obj = current_time.replace(2015,5) print(current_time>time_obj) import datetime def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday # 输出 print(getYesterday())
脚本5:关于时间戳处理
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """ import time import datetime from datetime import timezone from datetime import timedelta # 显示当前秒级时间戳与毫秒级时间戳、微秒级时间戳 t = time.time() print(t) # 原始时间数据 print(int(t)) # 秒级时间戳 print(int(round(t * 1000))) # 毫秒级时间戳 print(int(round(t * 1000000))) # 微秒级时间戳 # 显示当前日期: dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') dt_ms = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 含微秒的日期时间,来源 比特量化 print(dt) print(dt_ms) # 将日期转为秒级时间戳 dt = '2018-01-01 10:40:30' ts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) print(ts) # 将秒级时间戳转为日期 ts = 1515774430 dt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts)) print(dt) # 时区转换 # 显示UTC时间 utc_now = datetime.datetime.utcnow() print(utc_now) # 世界标准时间 # utc_time = datetime(2019, 7, 30, 7, 50, 0) print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) # 北京时间UTC+8 # cst_time =utc_time.astimezone(timezone(timedelta(hours=-8))).strftime("%Y-%m-%d %H:%M:%S") # 国际标准时间 print("国际标准时间:"+time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())) # 本地时间 print("本地时间:"+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
加载全部内容