前言
python中常用的处理时间的模块有两个:时间模块,datetime模块,时间模块是比较基础的一个模块,可满足对时间类型数据的基本处理;而datetime模块可以看做是对时间模块的一个高级封装,功能更加强大,例如在时间的加减上(获取指定时间的前(后)一天的时间,获取指定时间的前(后)一小时的时间),使用datetime模块,实现起来更为方便~
时间模块
时间也是一个数据类型,这个类型中的数据一般可分为3类时间形式:时间戳(时间戳),结构化时间(struct_time),格式化的时间字符串(格式字符串)~
时间戳(时间戳)
在计算机中,时间是用数字来表示的.1970年1月1日就是UTC + 00:00时区的时刻称为时代,记为0(1970年以前的时间时间戳为负数),当前时间就是相对于时代时间的秒数(浮点型),即时间戳。
获取当前时间的时间戳:
<代码>祝辞的在比;导入的时间 在在在time.time () 1539009280.9001613 #浮动类型代码>
结构化时间
结构化时间是一个struct_time元组,其中有9个字段,具体说明如下:
字段 说明 tm_year 年,例如:2018 tm_mon 月,取值:1 - 12 tm_mday 日,取值:日至31日 tm_hour 小时,取值:0-23 tm_min 分钟,取值:0-59 tm_sec 秒,取值:0-60 tm_wday 星期几,取值:0到6(0是周一) tm_yday 一年中的第几天,取值:1到366 tm_isdst 标志位,决定是否为夏令时,取值:1,0,1获取当前时间的结构化时间:
,<代码>祝辞的在比;time.localtime () 时间。struct_time (tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=22日tm_min=59, tm_sec=12, tm_wday=0, tm_yday=281, tm_isdst=0) # time.localtime()还可以接收一个时间戳参数,获取指定的时间: 在在在time.localtime (10) 时间。struct_time (tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=10, tm_wday=3, tm_yday=1, tm_isdst=0) #提示:由于是东8时区所以tm_hour是8,而不是0 ~ # time.gmtime()与time.localtime()作用类似,区别在于本地时间()返回的是当前时区的时间,gmtime()返回的是格林威治时间,即UTC时间~ 在在在time.gmtime () 时间。struct_time (tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=15, tm_min=5, tm_sec=25日tm_wday=0, tm_yday=281, tm_isdst=0) 在在在time.gmtime (10) 时间。struct_time (tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=10, tm_wday=3, tm_yday=1, tm_isdst=0) 代码>
也可以手动创建结构化时间(9个参数依次传入,注意是以元组的方式传入),这种方式并不常用:
,<代码>祝辞的在比;time.struct_time((0 8 2018年10日,23日,9日,3335年,1)) 时间。struct_time (tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=23日tm_min=0, tm_sec=9, tm_wday=3, tm_yday=335, tm_isdst=1) 代码>
格式化的时间字符串
格式化的时间字符串就是使用字符串表示时间,例如:2018-10-08 23:13:23。
字符串时间的获取:
,<代码>祝辞的在比;time.ctime () “太阳2018年10月14日08:32:04” 在在在time.asctime () “太阳2018年10月14日08:32:10”代码>
3种时间形式之间的转换关系
结构化时间和时间字符串之间的相互转换h5>
<强>结构化时间转为字符串时间强>
,<代码>祝辞的在比;时间。strftime (“% Y - % m - H % d %: % m: % S的,time.localtime ()) “2018-10-14 08:42:58” # strftime函数的第一个参数指定时间的格式,可以根据需求而定,例如仅获取时间年月日 在在在时间。strftime (Y % m % d ' ' %, time.localtime ()) 代码“20181014”>
时间格的格式式如下:
<代码> %本地(本地)简化星期名称 %一本地完整星期名称 % b本地简化月份名称 % B本地完整月份名称 % c本地相应的日期和时间表示 % d一个月中的第几天(01-31) % H一天中的第几个小时(24小时制,00-23) % l一天中的第几个小时(12个小时制,01-12) % j一年中的第几天(01 - 366) % m月份(01-12) % M分钟数(00-59) % p本地上午或下午者的相应符 % S秒(01 - 61) % U一年中的星期数(00-53,星期天是一个星期的开始,第一个星期天之前的所有天数都放在第0周) % w一个星期中的第几天(0,0是星期天) % W和% U基本相同,不同的是% W以星期一为一个星期的开始 % x本地相应日期 % X本地相应时间 % y去掉世纪的年份(00 - 99) % Y完整的年份 % z用+ HHMM或者-HHMM表示距离格林威治的时区偏移(H代表十进制的小时数,M代表十进制的分钟数) % Z时区的名字(如果不存在为空字符) % % %号本身 % % p只有与我配合使用才有效果 当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候% U和% W才会被计算python日期和时间