time时间模块
一、休眠时间:sleep,单位:秒。用法:time.sleep(X),表示在给定的时间内,程序暂停多少秒。
二、对于时间的表达存在三种样式
1.结构化类型(struct_time类型):
其表达格式为:tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0
返回的是一个元组的类型
共有九个元素,分别为:年,月,日,小时,分钟,秒,一周中第几天,一年中第几天,是否为夏令时。
其中:星期一为0,夏令时为1。
2.时间戳类型:
time.time():从1970-01-01 00:00:00 UTC,开始到现在所经历的时间,以浮点数的'秒'来表示
print(time.time())
1517362540.347517
3.字符串指定格式类型:
比如返回为这样的格式:2019-01-15 11:18:05
三、以上三种给定类型的时间转换
1.结构化类型(元组)常用写法
(1)time.localtime('时间戳') #计算机当地时间,返回一个时间元组
(2)time.gmtime( '时间戳') #伦敦时间,返回一个时间元组。将一个时间戳转换为UTC时区(0时区)的元组。
查看每个操作平台的初始时间可以使用time.gmtime(0)函数。
(3)strptime(str,'格式') #根据 指定格式 把一个时间字符串 解析为 时间元组
举例:import time
print(time.strptime('2001-01-12','%Y-%m-%d'))
# 结果:time.struct_time(tm_year=2001, tm_mon=1, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=12, tm_isdst=-1)
给定时间戳,返回指定时间(元组)
print(time.localtime(1440337405.85))
#time.struct_time(tm_year=2015, tm_mon=8, tm_mday=23, tm_hour=21, tm_min=43, tm_sec=25, tm_wday=6, tm_yday=235, tm_isdst=0)
2.时间戳类型常用写法
(1)time.time()
(2)time.mktime( '时间元组') #接收时间元组,返回时间戳
3.指定格式(字符串类型)
(1)time.asctime('时间元组') #接受时间元组,返回一个可读的形式
import time
print(time.asctime(time.localtime()))
#结果: Tue Jan 15 20:31:45 2019
如果时间元组为空时,返回当前时间
import time
print(time.asctime())
#结果: Tue Jan 15 20:31:45 2019
#与上面的结果是一样的。
(2)time.strftime(‘格式’ , '时间元组') #接受时间元组, 并返回以可读字符串表示的当地时间
import time
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
# 结果:
#2019-01-15 11:18:05
说明:返回当前时间,time.localtime()可以不写。
时间字符串支持的格式符号:(区分大小写)
%a 本地星期名称的简写(如星期四为Thu)
%A 本地星期名称的全称(如星期四为Thursday)
%b 本地月份名称的简写(如八月份为agu)
%B 本地月份名称的全称(如八月份为august)
%c 本地相应的日期和时间的字符串表示(如:15/08/27 10:20:06)
%d 一个月中的第几天(01 - 31)
%f 微妙(范围0.999999)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,0 - 11)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(00 - 61)
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之 前的所有天数都放在第0周。
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期字符串(如15/08/01)
%X 本地相应时间字符串(如08:08:10)
%y 去掉世纪的年份(00 - 99)两个数字表示的年份
%Y 完整的年份(4个数字表示年份)
%z 与UTC时间的间隔(如果是本地时间,返回空字符串)
%Z 时区的名字(如果是本地时间,返回空字符串)
%% ‘%’字符
其他常见字符串用法:
1.直接使用字符串拼接成格式时间字符串
import time
formattime=time.localtime()
print(formattime)
print(str(formattime.tm_year) + "年" + str(formattime.tm_mon) + "月" + str(formattime.tm_mday) + "日")
time_format = "%Y-%m-%d"
time_format2 = "%Y-%m-%d %H:%M:%S"
time_local = time.localtime()
new_date = time.strftime(time_format,time_local) #当前日期
new_time = time.strftime(time_format2,time_local) #当前日期+具体时间
上面这个比较常用,也比较好看。
2.星期几
import time
print(time.strftime('%A'))
#返回英文
import time
print(time.strftime('%w'))
#返回数字
3.月份
import time
print(time.strftime('%B'))
4.得到本地相应的日期和时间的字符串表示1
import time
print(time.strftime('%c'))
#返回英文+数字
5.得到本地相应的日期和时间的字符串表示2
import time
print(time.strftime('%x %X'))
#返回纯数字,比较好识别
6.今天是今年的第几天
import time
print(time.strftime('%j'))
#返回纯数字,比较好识别
7.这周是今年的第几周
import time
print(time.strftime('%U'))
#返回纯数字,比较好识别
扩展:Time模块解析:https://blog.csdn.net/liagn/article/details/82597472
|