time模块(跟时间打交道的模块)
表示时间的三种方式:
1. 时间戳:秒数
2. 格式化的时间字符串:2023-01-01 11:11:11
3. 结构化时间:它一般不是让人看的,让计算机看的
# 使用时间模块,需要导入time模块
import time
python中时间日期格式化符号:
%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 当前时区的名称
%% %号本身
几种格式之间的转换:
练习:
结构化时间:
timestamp:时间戳
struct_time:结构化时间
format_string:格式化时间
时间戳-->结构化时间:
#time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致
#time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间
>>>time.gmtime(1500000000)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
>>>time.localtime(1500000000)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
#结构化时间-->时间戳
#time.mktime(结构化时间)
>>>time_tuple = time.localtime(1500000000)
>>>time.mktime(time_tuple)
1500000000.0
datetime模块
import datetime
# 自定义日期
res = datetime.date(2023, 7, 15)
print(res) # 2023-07-15
# 获取本地时间
# 年月日
now_date = datetime.date.today()
print(now_date) # 2023-06-09
# 年月日时分秒
now_time = datetime.datetime.today()
print(now_time) # 2023-06-09 16:45:44.810304
# 无论是年月日,还是年月日时分秒对象都可以调用以下方法获取针对性的数据
# 以datetime对象举例
print(now_time.year) # 获取年份2023
print(now_time.month) # 获取月份6
print(now_time.day) # 获取日9
print(now_time.weekday()) # 获取星期(weekday星期是0-6) 0表示周一
print(now_time.isoweekday()) # 获取星期(weekday星期是1-7) 1表示周一
# timedelta对象
# 可以对时间进行运算操作
import datetime
# 获得本地日期 年月日
tday = datetime.date.today()
# 定义操作时间 day=7 也就是可以对另一个时间对象加7天或者减少7点
tdelta = datetime.timedelta(days=7)
# 打印今天的日期
print('今天的日期:{}'.format(tday)) # 2023-06-01
# 打印七天后的日期
print('从今天向后推7天:{}'.format(tday + tdelta)) # 2023-06-08
# 总结:日期对象与timedelta之间的关系
"""
日期对象 = 日期对象 +/- timedelta对象
timedelta对象 = 日期对象 +/- 日期对象
验证:
"""
# 定义日期对象
now_date1 = datetime.date.today()
# 定义timedelta对象
lta = datetime.timedelta(days=6)
now_date2 = now_date1 + lta # 日期对象 = 日期对象 +/- timedelta对象
print(type(now_date2)) # <class 'datetime.date'>
lta2 = now_date1 - now_date2 # timedelta对象 = 日期对象 +/- 日期对象
print(type(lta2)) # <class 'datetime.timedelta'>
总结年月日时分秒及时区问题
import datetime
dt_today = datetime.datetime.today()
dt_now = datetime.datetime.now()
dt_utcnow = datetime.datetime.utcnow() # UTC时间与我们的北京时间cha ju
print(dt_today)
print(dt_now)
print(dt_utcnow)
random模块(随机)
随机验证码练习:
sys模块
介绍:
'''
模块主要是针对与Python解释器相关的变量和方法,提供由解释器使用或维护的某些变量与解释器交互的函数访问接口,不是主机操作系统。
'''
使用:
练习:
cmd.exe
powershell.exe
import sys
# print(sys.path)
print(sys.argv) # ['D:/python26/day22/04 sys模块.py']
# python36 a.py
print(sys.argv[1])
print(sys.argv[2])
print(sys.argv[3])
try:
res=sys.argv[2]
except Exception:
pass
标签:random,datetime,sys,tm,模块,time,print,now
From: https://www.cnblogs.com/huangchunfang/p/17469825.html