- UTC/GMT:世界时间
- 本地时间:本地市区的时间
时间处理模块
1.time
- 导包
import time
-
获取当前时间戳(自1970-1-1 00:00 开始的时间)
v1=time.time() print(v1) #1641180303.0548139
-
时区
v2=time.timezone print(v2) #-28800
-
睡眠,停止n秒
#睡1秒 time.sleep(1)
2.datetime
from datetime import datetime,timezone,timedelta
-
获取当前本地时间
from datetime import datetime v1=datetime.now() print(v1) #2022-01-03 09:52:30.486343
-
获取utc当前时间
from datetime import datetime v2=datetime.utcnow() print(v2) #2022-01-03 01:52:30.486343
-
获取指定时区时间
from datetime import datetime,timezone #当前东7区时间 v3=timezone(timedelta(hours=7)) #获取东7区时间 v4=datetime.now(v3) print(v3,v4) #UTC+07:00 2022-01-03 08:52:30.486343+07:00
-
时间转换
- 时间转换为字符串
from datetime import datetime v1=datetime.now() val=v1.strftime('%Y-%m-%d %H-%M-%S') print(val,type(val)) #2022-01-03 09-52-30 <class 'str'>
-
字符串转换为时间
from datetime import datetime text='2021-11-11' v1=datetime.strptime(text,'%Y-%m-%d') print(v1) #2021-11-11 00:00:00
3.时间加减
#减,datetime类型之间只能减,不能加,可以比较
from datetime import datetime,timedelta
v1=datetime.now()
v2=datetime.utcnow()
data=v1-v2
#加,datetime类型+/-timedelta类型
from datetime import datetime,timedelta
v1=datetime.now()
data=v1+timedelta(days=140,minutes=5)
-
时间戳
- 时间戳格式–>datetime格式
import time n1=time.time() v1=datetime.fromtimestamp(n1) print(v1,type(v1)) #2022-01-03 12:16:08.562871 <class 'datetime.datetime'>
- datetime格式–>时间戳格式
from datetime import datetime v1=datetime.now() val=v1.timestamp() print(val,type(val)) #1641183461.744844 <class 'float'>
4. 时间相关操作
- 获取代码运行的时间
import time all_start=time.time() # 相关代码 all_end=time.time() m1,s1=divmod((all_end-all_start),60) h1,m1=divmod(m1,60) print(f"耗时:{h1}时{m1}分{s1}秒")
5. 进度百分比
import time
for i in range(1,101):
data='\r{}%'.format(i)
print(data,end='')
time.sleep(0.02)
print('\n下载完成')
6.获取视频时长
import os
from moviepy.editor import VideoFileClip
def get_video_time(folder_path):
count=0
data=os.walk(folder_path)
for root,folder_list,file_list in data:
for file_name in file_list:
if file_name.endswith('.mp4'):
video_clip = VideoFileClip(os.path.join(root,file_name))
count += video_clip.duration
total_time=round(count/60/60,2)
return total_time
path=os.path.join(os.path.dirname(os.path.abspath(__file__)),'files')
res=get_video_time(path)
print(res)