time模块
在python中,通常有三种方式来表示时间:
1.时间戳:秒数,浮点型
2.结构化时间(struct_time)
3.格式化的时间字符串(Format String)
时间戳是计算机能识别的时间,我们看不懂
python中时间日期格式化符号
%Y:表示四位数的年份(000-9999)
%y:表示两位数的年份(00-99)
%m:表示月份(1-12)
%M:表示分钟(0==59)
%d:表示一个月中的一天(0-31)
%H:表示二十四制小时(00-23)
%I:表示十二制小时(01-12)
%S:表示秒数
%a:本地简化星期名称
%A:本地完整星期名称
%b:本地简化月份名称
%B:本地完整月份名称
%c:本地相应的日期、时间
%j:一年里的一天
%p:本地A.M.或P.M.的等价符
%U:一年中的星期数(00-53)星期天为一周的开始
%w:星期几(0-6),星期天为开始
%W:一年中的星期数(00-53)星期一为星期的开始
%x:本地相应的日期表示
%X:本地相应的时间表示
%Z:当前时区的名称
%%:%号本身
1 # 使用时间模块,需要导入time模块 2 import time 3 time.time() # 时间戳 4 time.sleep(3) # 休眠多少秒 5 res = time.strftime('%Y-%m-%d %H:%M:%S') # 2023-06-09 15:18:45 6 res = time.strftime('%Y-%m-%d %X') # 2023-06-09 15:20:13 7 res = time.strftime('%Y-%m-%d %H:%M') # 2023-06-09 15:21 8 res = time.strftime('%Y-%m-%d %H') # 2023-06-09 15 %H:24小时制小时数(0-23) 9 res = time.strftime('%Y-%m-%d %I') # 2023-06-09 03 %I:12小时制小时数(01-12) 10 res = time.strftime('%y-%m') # 23-06 11 res = time.strftime('%y-%m %a') # 23-06 Fri 12 res = time.strftime('%y-%m %b') # 23-06 Jun 13 res = time.strftime('%y-%m %B') # 23-06 June 14 res = time.strftime('%y-%m %c') # 23-06 Fri Jun 9 15:31:02 2023 15 res = time.strftime('%y-%m %j') # 23-06 160 16 res = time.strftime('%y-%m %p') # 23-06 PM 17 res = time.strftime('%y-%m %U') # 23-06 23 18 res = time.strftime('%y-%m %w') # 23-06 5 19 res = time.strftime('%y-%m %%a') # 23-06 %a 20 print(res)
三种格式时间之间的转换
时间戳和结构化时间之间的转换
# 将时间戳转换为结构化时间(struct_time) res = time.time() # 1686298502.428151 res1 = time.gmtime(1686298502.428151) # time.struct_time(tm_year=2023, tm_mon=6, tm_mday=9, tm_hour=8, tm_min=15, tm_sec=2, tm_wday=4, tm_yday=160, tm_isdst=0) res2 = time.localtime(1686298502.428151) # time.struct_time(tm_year=2023, tm_mon=6, tm_mday=9, tm_hour=16, tm_min=15, tm_sec=2, tm_wday=4, tm_yday=160, tm_isdst=0) print(res2) # 将结构化时间转换为时间戳 time_tuple = time.localtime(1686298502.428151) print(time.mktime(time_tuple)) # 1686298502.0
结构化时间(struct_time)与 格式化的时间字符串(Format String)的转化
#结构化时间转换为格式化时间字符串 res = time.strftime("%Y-%m-%d %X") print(res) # 2023-06-09 16:53:20 res1 = time.strftime("%Y-%m-%d",time.localtime(1686298502.428151)) print(res1) # 2023-06-09 #字符串时间-->结构化时间 res2 = time.strptime("2023-06-09","%Y-%m-%d") print(res2) # time.struct_time(tm_year=2023, tm_mon=6, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=160, tm_isdst=-1) res3 = time.strptime("06/09/2023","%m/%d/%Y") print(res3) # time.struct_time(tm_year=2023, tm_mon=6, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=160, tm_isdst=-1)
datetime模块
日期对象 = 日期对象 +/- timedelta对象
timedelta对象 = 日期对象 +/- 日期对象
自定义操作时间,可以对时间进行运算操作
import datetime #timedelta 可以对时间进行运算 tdelta = datetime.timedelta(days=7) print(tdelta) #7 days, 0:00:00 tday = datetime.datetime.today() print("7天之后的日期是:%s" % (tday + tdelta)) print("7天之前的日期是:%s" % (tday - tdelta)) # 7天之后的日期是:2023-06-16 16:49:29.762151 # 7天之后的日期是:2023-06-02 16:49:29.762151
random模块
随机生成小数:
random.random() 生成大于0小于1之间的小数
random.uniform(1,3) 生成大于1小于3的小数
随机生成整数:
random.randint(1,5) 生成大于等于1且小于等于5的整数
random.randrange(1,10,2) 生成大于1且小于10的奇数
随机选择一个返回:
random.choice([1,'23',[4,5]]) 括号里的值随机进行一个返回
随机选择多个返回:
random.sample([1,'23',[4,5]],2) 列表元素任意两个组合(任意几个数字为后面写的参数)
打乱列表顺序:
random.shuffle(i)
sys模块
sys.argv 命令行参数List,第一个元素是程序本身路径
import sys print(sys.argv) # ['D:\\python_study\\正则表达式.py'] print(sys.argv[0]) #D:\python_study\正则表达式.py
sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version 获取Python解释程序的版本信息
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
异常处理
try: res=sys.argv[2] except Exception: pass
os模块
os模块是与操作系统交互的一个接口
标签:-%,常用,内置,06,res,tm,模块,time,strftime From: https://www.cnblogs.com/Lucky-Hua/p/17469945.html