python之time模块

time模块

和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。

#常用方法
1.time.sleep(secs)
(线程)推迟指定的时间运行。单位为秒。
2.time.time()
获取当前时间戳

  表示时间的三种方式

在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

(2)格式化的时间字符串(Format String): ‘1999-12-06’

%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 当前时区的名称
%% %号本身
python中时间日期格式化符号

(3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

首先,我们先导入time模块,来认识一下python中表示时间的几种格式:

import time       #导入模块
print(time.time())   #时间戳时间
print(time.strftime('%Y-%m-%d %x'))  #字符串格式化时间
print(time.strftime('%Y-%m-%d %H:%M:%S'))

print(time.localtime())   #结构化时间本地时间
print(time.gmtime())         #结构化时间英国时间
#时间戳和格式化时间都是依赖于结构化时间
p = time.strptime('2018-6-16', '%Y-%m-%d')

小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的

几种格式之间的转换

 

import time 
print(time.gmtime(1500000000)) #时间戳-->结构化时间
print(time.localtime(1500000))
#结构化时间-->时间戳 
time_tuple = time.localtime(15000000)
print(time.mktime(time_tuple))

#结构化时间-->字符串时间
print(time.strftime("%Y-%m-%d %x"))
print(time.strftime("%Y-%m-%d ", time.localtime(1800000000)))
#字符串时间-->结构化时间
print(time.strptime("2018-10-17","%Y-%m-%d"))
print(time.strptime("01/01/2018", "%m/%d/%Y"))
三者之间的转换

 

#结构化时间 --> %a %b %d %H:%M:%S %Y串
#time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串
import time
print(time.asctime(time.localtime(150000000)))
print(time.asctime())
#时间戳 --> %a %b %d %H:%M:%S %Y串
#time.ctime(时间戳)  如果不传参数,直接返回当前时间的格式化串
print(time.ctime())
print(time.ctime(18000000))
三者之间的转换

 

import time
def cal_time(fmt_time, fmt):
    now = time.time()
    time_before = time.mktime(time.strptime(fmt_time, fmt))
    sub_time = now - time_before
    struct_time = time.gmtime(sub_time)
    return '过去了%d年%d月%d天%d小时%d分钟%d秒' % (struct_time.tm_year - 1970, struct_time.tm_mon - 1,
                                        struct_time.tm_mday - 1, struct_time.tm_hour,
                                        struct_time.tm_min, struct_time.tm_sec)
ret = cal_time('2018-8-17 08:30:00', '%Y-%m-%d %H:%M:%S')

print(ret)
时间差计算

 

posted @ 2018-09-30 22:01  LuckFariy  阅读(76)  评论(0)    收藏  举报