文章目录
一、time时间模块
time模块有三种时间表达方式
1.时间戳
秒数
2.结构化时间
时间元组,主要是给计算机看的
3.格式化时间
主要是给人看的
Y年 m月 d日 H时 M分 S秒 X时间:分:秒
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
#导入时间模块
import time
#时间戳
time.time()
print(time.time())
#时间字符串
print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.strftime('%Y/%m/%d %H:%M:%S'))
print(time.strftime('%Y-%m-%d %X'))
#时间元组:localtime将一个时间戳转换成当前时区的struct_time
print(time.localtime())
#打印结果:time.struct_time(tm_year=2023, tm_mon=9, tm_mday=20, tm_hour=20, tm_min=8, tm_sec=43, tm_wday=2, tm_yday=263, tm_isdst=0)
二、datetime模块
DateTime 可以获取 当前时间、年、月、日、时、分、秒、微秒、星期几、UTC时间、时间拼接
DateTime中的weekday() 函数用于获取周数 它将返回 0-6 范围内的数字
datetime基本格式
import datetime 导入模块
import datetime 导入模块
now = datetime.datetime.today() 获取当前时间赋值给now
print(now) 获取当前今日北京时间
print(now.year) 获取当年时间
print(now.month) 获取当月时间
print(now.weekday()) 获取今天星期几
print(now.isoweekday()) 获取今天星期几
print(now.microsecond) 当前是多少微秒
print(datetime.datetime.utcnow()) 获取当前格林威治时间UTC
datetime时间拼接
import datetime 导入模块
res = datetime.datetime.today() 获取当前时间赋值给res
how = datetime.timedelta(days=3, hours=3, minutes=20, seconds=12, milliseconds=11, microseconds=1) 设置时间给how
print(res + how) 括号内可以日时分秒毫秒微秒
print(res - how) 当前时间减去设计的时间
1.用指定日期创建时间
now = datetime.datetime(2002,2,2,2,2,2,222222)
print(now)
2.将字符串转换成datetime类型
将下列的字符串转成为datetime类型
"""
'2008/8/8'
'2016年9月13日星期六'
'2020年6月24日星期六6时6分6秒'
'10/19/2022'
'10/19/2022 8:42:12'
"""
import datetime
t1 = datetime.datetime.strptime('2008/8/8','%Y/%m/%d')
print(t1) # 2008-08-08 00:00:00
t2 = datetime.datetime.strptime('2016年9月13日星期六','%Y年%m月%d日星期六')
print(t2) # 2016-09-13 00:00:00
t3 = datetime.datetime.strptime('2020年6月24日星期六6时6分6秒','%Y年%m月%d日星期六%H时%M分%S秒') # 数字必须写阿拉伯数字
print(t3) # 2020-06-24 06:06:06
t4 = datetime.datetime.strptime('10/19/2022','%m/%d/%Y')
print(t4) # 2022-10-19 00:00:00
t5 = datetime.datetime.strptime('10/19/2022 8:42:12','%m/%d/%Y %H:%M:%S')
print(t5) # 2022-10-19 08:42:12
3.datetime类型转换成字符串
"""
2008年8月8日星期六,18时18分18秒
Saturday,September 30,2010
8/30/2021 18:30 AM
June 30,2021
"""
from datetime import datetime
t1 = datetime(2008,8,8,18,18,18)
print(t1.strftime('%Y年%m月%d日%A,%H时%M分%S秒')) # 2008年08月08日Friday,18时18分18秒
print(t1.strftime('%A,%B %d,%Y')) # Friday,August 08,2008
t2 = datetime(2021,8,30,8,30,34)
print(t2.strftime('%m/%d/%Y %I:%M:%S%p')) # 08/30/2021 08:30:34AM
print(t2.strftime('%m/%d/%Y %H:%M:%S')) # 08/30/2021 08:30:34
t3 = datetime(2021,6,30)
print(t3.strftime('%B %d %Y')) # June 30 2021
4.时间与时间相加
import datetime
t1 = datetime.date.today()
print(t1) # 2022-10-19
t2 = datetime.timedelta(days=6)
print(t1+t2) # 2022-10-25
t3 = datetime.datetime.today()
print(t3) # 2022-10-19 18:11:21.935837
t4 = datetime.timedelta(minutes=30)
print(t3+t4) # 2022-10-19 18:42:21.593501
632





