rtime
rtime时间有三种格式
-
时间戳
-
struct_time(tuple)元组时间
-
格式化输出时间
通过import导入rtime模块
import rtime
time.time() #输出时间戳格式,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
1517801424.126909
time.altzone #输出格林威治西部的夏令时地区的偏移秒数,东部会返回负值
-32400
time.timezone#输出格林威治西部的地区的偏移秒数,东部会返回负值(中国UTC+8)
-28800
time.asctime() #传入参数struct_time时间格式,输出格式化字符时间,默认是当前时间
'Mon Feb 5 14:20:01 2018'
time.ctime() #传入参数时间戳格式,输出格式化字符时间,默认是当前时间
'Mon Feb 5 14:40:05 2018'
time.clock()#在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。
time.gtime() #传入参数时间戳格式,输出struct_time时间格式默认当前时间
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=5, tm_hour=6, tm_min=58, tm_sec=55, tm_wday=0, tm_yday=36, tm_isdst=0)
time.localtime()#返回当前时间的struct_time时间格式
time.struct_time(tm_year=2018, tm_mon=2, tm_mday=5, tm_hour=15, tm_min=8, tm_sec=54, tm_wday=0, tm_yday=36, tm_isdst=0)
time.mktime(time.localtime()) #传入参数struct_time时间格式,输出时间戳
1517814666.3603213
time.monotonic() #返回单调时钟的值(小数秒),即不能倒退的时钟。时钟不受系统时钟更新的影响。返回值的参考点是未定义的,因此只有连续调用的结果之间的差异是有效的。
time.perf_counter()#返回性能计数器的值(小数秒),即具有最高可用分辨率的时钟,以测量短时间。它包括睡眠时间和系统范围内的时间。返回值的参考点是未定义的,因此只有连续调用的结果之间的差异是有效的。
time.process_time() #返回当前进程的系统和用户CPU时间之和的值(小数秒)
time.sleep()#暂停执行调用线程达给定的秒数
time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())#将struct_time时间格式化输出
'2018-02-05 15:42:11'
time.strptime('2018-1-1 15:30:00','%Y-%m-%d %H:%M:%S' )#将格式化字符转换为struct_time时间格式
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=1, tm_hour=15, tm_min=30, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)
格式化时间输出中的指示:
-
%a 本地缩写星期几名称。
-
%A 本地完整星期名称
-
%b 本地简化月份名称
-
%B 本地完整月份名称
-
%c 本地相应的日期和时间表示
-
%d 一个月的日期为十进制数字[01,31]
-
%H 小时(24小时制)作为十进制数[00,23]
-
%I 小时(12小时制)作为十进制数[01,12]
-
%j 一年中的第几天是十进制数[001,366]
-
%m 月份为十进制数[01,12]
-
%M 分钟为十进制数[00,59]
-
%p 本地am或者pm
-
%S 秒作为十进制数[00,61]
-
%U 一年中的星期数(星期日为一周的第一天)作为十进制数[00,53]。第一个星期天前一年的所有日子都被认为是在第0周。
-
%w 一个星期中的第几天[0(星期日),6]
-
%W 一年中的星期数(星期一作为一周的第一天)作为十进制数[00,53]。第一个星期一之前的新年的所有日子都被认为是在第0周。
-
%x 本地相应的日期
-
%X 本地相应的时间
-
%y 去掉世纪的年份[00,99]
-
%Y 完整的年份
-
%z 时区偏移量,表示与格式为+ HHMM或-HHMM的UTC / GMT的正负时差,其中H表示十进制小时数字,M表示十进制分钟数[-23:59,+23:59]
-
%Z 时区名称(如果不存在时区,则不使用字符)
-
%% 表示字符串'%'
struct_time元组索引和属性
指数 | 属性 | 值 |
---|---|---|
0 | tm_year |
(例如,1993年) |
1 | tm_mon |
范围[1,12] |
2 | tm_mday |
范围[1,31] |
3 | tm_hour |
范围[0,23] |
4 | tm_min |
范围[0,59] |
5 | tm_sec |
范围[0,61]; |
6 | tm_wday |
范围[0,6],星期一为0 |
7 | tm_yday |
范围[1,366] |
8 | tm_isdst |
0,1或-1:夏令时有效时可以设为1,否则为0,值为-1表示这是未知的,通常会导致正确的状态被填充 |
N / A | tm_zone |
时区名称的缩写 |
N / A | tm_gmtoff |
以秒为单位偏移UTC的东部 |
可以通过索引或者属性获取单个参数
时间关系转换:
datetime
print(datetime.datetime.now()) #返回 2018-02-05 16:45:05.697872
print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2018-02-05 16:45:24.817966
print(datetime.datetime.now().timestamp()) #输出时间戳1517820412.992009
print(datetime.datetime.now().strftime('%a, %b %d %H:%M'))#格式化输出时间
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
print(datetime.datetime.now().replace(hour=18))#替换当前时间(小时)
2018-02-05 18:51:04.619402