时间模块
time 模块
'''time模块是函数内置的模块可以直接拿来用的'''
import time
# 时间的3种格式
1、时间戳:从1970年到现在经过的秒数
作用:用于时间间隔的计算
print(time.time()) # 1686229427.2857454
2、按照某种时间格式显示的时间:2023-06-08 21:03:47 strftime()
作用:用于展示时间
print(time.strftime('%Y-%m-%d %H:%M:%S %p')) # 2023-06-08 21:11:09 PM
print(time.strftime('%Y-%m-%d %X')) # 2023-06-08 21:11:09
3、结构化的时间 :localtime()
作用:用于单独获取时间的某一部分
res = time.localtime()
print(res)
# time.struct_time(tm_year=2023, tm_mon=6, tm_mday=8, tm_hour=21, tm_min=24, tm_sec=10, tm_wday=3, tm_yday=159, tm_isdst=0)
print(res.tm_year) # 2023
print(res.tm_yday) # 159
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 当前时区的名称
%% %号本身
datetime 模块
import datetime
# 当前时间
print(datetime.datetime.now()) # 2023-06-08 21:27:34.285882
# 往后加3天
print(datetime.datetime.now() + datetime.timedelta(days=3)) # 2023-06-11 21:27:34.285882
#往后加一周
print(datetime.datetime.now() + datetime.timedelta(weeks=1)) # 2023-06-15 21:27:34.285882
时间模块需要掌握的知识
时间格式的转换
1、# struct_time->时间戳
import time
s_time=time.localtime() # 将时间结构化
print(time.mktime(s_time)) # 将格式化时间转为时间戳 1686231591.0
2、时间戳->struct_time
tp_time=time.time() # 时间的时间戳格式
print(time.localtime(tp_time)) # 将时间戳结构化
# time.struct_time(tm_year=2023, tm_mon=6, tm_mday=8, tm_hour=21, tm_min=45, tm_sec=11, tm_wday=3, tm_yday=159, tm_isdst=0)
3、补充:世界标准时间与本地时间 gmtime
print(time.localtime()) # 本地时间
print(time.gmtime()) # 世界标准时间,了解
'本地时间与世界标准时间相差8个小时'
4、# struct_time->格式化的字符串形式的时间
s_time=time.localtime() # 结构化时间
print(time.strftime('%Y-%m-%d %H:%M:%S',s_time)) # 将结构化时间转化为格式化的时间 2023-06-08 21:52:03
print(time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S')) # 将时间结构化
'''!!!真正需要掌握的只有一条:format string<------>timestamp'''
# '1988-03-03 11:11:11'+7
1、'''将格式化转为时间戳:format string--->struct_time--->timestamp'''
struct_time = time.strptime('1988-03-03 11:11:11', '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(struct_time) + 7 * 86400
print(timestamp) # 573966671.0
2、'''将时间戳转为格式化:format string<---struct_time<---timestamp
'''
res = time.strftime('%Y-%m-%d %X', time.localtime(timestamp))
print(res) # 1988-03-10 11:11:11
了解知识点
import time
print(time.asctime()) # Thu Jun 8 22:15:13 2023
import datetime
print(datetime.datetime.now()) # 2023-06-08 22:15:13.306517
print(datetime.datetime.utcnow()) # 2023-06-08 14:15:13.306517
random模块(随机的)
import random
print(random.random()) # (0,1)----float 大于0且小于1之间的小数
print(random.randint(1, 3)) # [1,3] 大于等于1且小于等于3之间的整数
print(random.randrange(1, 3)) # [1,3) 大于等于1且小于3之间的整数
print(random.choice([111, 'aaa', [4, 5]])) # 1或者23或者[4,5]
print(random.sample([111, 'aaa', 'ccc', 'ddd'], 2)) # 列表元素任意2个组合
print(random.uniform(1, 3)) # 大于1小于3的小数,如1.927109612082716
item = [1, 3, 5, 7, 9]
random.shuffle(item) # 打乱item的顺序,相当于"洗牌"
print(item)
应用
'''随机验证码'''
import random
def make_code(size=4):
res = ''
for i in range(size):
s1 = chr(random.randint(65, 90))
s2 = str(random.randint(0, 9))
res += random.choice([s1, s2])
return res
标签:11,Python,random,datetime,tm,随机,模块,time,print
From: https://www.cnblogs.com/chao0308/p/17469170.html