其他分享
首页 > 其他分享> > 时间

时间

作者:互联网

第九章-时间
在Python中,与时间处理相关的模块有:time、 datetime以及calendar。
在Python中,通常有这几种方式表示时间:时间戳、格式化的时间字符串、元组(struct_time 共九种元素)。由于Python的time模块主要是调用C库实现的,所以在不同的平台可能会有所不同。

时间元组

import time
ls=time.localtime() #本地时间
ls
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=10, tm_min=58, tm_sec=34, tm_wday=4, tm_yday=278, tm_isdst=0)

ls[0]
2018

ls[1]
10

ls[2]
5

ls[-1]
0

格林威治时间

import time
ls=time.gmtime()
ls
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=3, tm_min=1, tm_sec=56, tm_wday=4, tm_yday=278, tm_isdst=0)

ls[0]
2018

ls[1]
10

ls[-1]
0

time.time():返回当前时间的时间戳

import time
time.time() #表示当前时间距离1970年1月1日的秒数
1538708629.555266

int(time.time()) #对时间戳取整
1538708639

time的常用函数—localtime
time.localtime( [secs] )函数将一个时间戳转换为当前时区的struct_time,即时间数组格式的时间
参数:
sec – 转换为time.struct_time类型的对象的秒数。如果secs参数未提供,则以当前时间为准(即会默认调用time.time())。

import time
time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=11, tm_min=10, tm_sec=8, tm_wday=4, tm_yday=278, tm_isdst=0)

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)

time的常用函数—gmtime
time.gmtime([secs])函数将一个时间戳转换为UTC时区的struct_time
time.gmtime() 函数将一个时间戳转换为UTC时区(0时区)的struct_time,可选的参数sec表示从1970-1-1 00:00:00以来的秒数。其默认值为time.time(),函数返回time.struct_time类型的对象。(struct_time是在time模块中定义的
表示时间的对象)。如果secs参数未提供,则以当前时间为准。
参数:
sec – 转换为time.struct_time类型的对象的秒数

import time
time.time()
1538709438.1453712

time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=3, tm_min=17, tm_sec=26, tm_wday=4, tm_yday=278, tm_isdst=0)

time.gmtime(1538709438.14)
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=3, tm_min=17, tm_sec=18, tm_wday=4, tm_yday=278, tm_isdst=0)

time的常用函数—mktime (与localtime正好相反)
time.mktime(t):将一个struct_time转化为时间戳
time.mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数。如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。
参数:
t – 结构化的时间或者完整的9位元组元素

import time
time.time()
1538709788.418091

struct_time=time.localtime()
struct_time
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=11, tm_min=23, tm_sec=10, tm_wday=4, tm_yday=278, tm_isdst=0)

time.mktime(struct_time)
1538709790.0

time的常用函数—sleep,clock

import time
time.sleep(10) #睡眠10秒

Python时间clock()方法返回当前处理器时间作为Unix上以秒为单位的浮点数。

import time
time1 = time.clock()
time1
1.689600432537711e-05

import time
def procedure() :
time.sleep(5)

time1 = time.clock()
procedure()
print (time.clock() -time1, “secondsprocess time!”) #使用time.time()来计算程序耗时

time2 = time.time()
procedure()
print (time.time() -time2, “seconds!”)

执行结果:
4.999850239961662 secondsprocess time!
5.000348091125488 seconds!

time的常用函数—strftime 返回字符串表示的当地时间
把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串,格式由参数format决定。如果未指定,将传入time.localtime()。如果元组中任何一个元素越界,就会抛出ValueError的异常。函数返回的是一个可读表示的本地时间的字符串。
参数:
format:格式化字符串
t :可选的参数是一个struct_time对象

import time
formatTime = time.localtime() #获取当前时间的struct_time对象
formatTime
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=5, tm_hour=11, tm_min=37, tm_sec=19, tm_wday=4, tm_yday=278, tm_isdst=0)

strTime=time.strftime("%Y-%m-%d %H:%M:%S",formatTime) #格式化时间字符串
strTime
‘2018-10-05 11:37:19’

strTime=time.strftime("%a",formatTime) #本地星期名称的简写
strTime
‘Fri’

strTime=time.strftime("%A",formatTime) #本地星期名称的全称
strTime
‘Friday’

strTime=time.strftime("%b",formatTime) #本地月份名称的简写
strTime
‘Oct’

strTime=time.strftime("%B",formatTime) #本地月份名称的全称
strTime
‘October’

strTime=time.strftime("%y",formatTime) #去掉世纪的年份(00 - 99)两个数字表示的年份
strTime
‘18’

strTime=time.strftime("%Y",formatTime) #完整的年份(4个数字表示年份)
strTime
‘2018’

strTime=time.strftime("%c",formatTime) #本地相应的日期和时间的字符串表示
strTime
‘Fri Oct 5 11:37:19 2018’

strTime=time.strftime("%d",formatTime) #一个月中的第几天(01 - 31)
strTime
‘05’

strTime=time.strftime("%H",formatTime) #一天中的第几个小时(24小时制,00 - 23)
strTime
‘11’

strTime=time.strftime("%I",formatTime) #第几个小时(12小时制,0 - 11)
strTime
‘11’

strTime=time.strftime("%j",formatTime) #一年中的第几天(001 - 366)
strTime
‘278’

strTime=time.strftime("%m",formatTime) #月份(01 - 12)
strTime
‘10’

strTime=time.strftime("%M",formatTime) #分钟数(00 - 59)
strTime
‘37’

strTime=time.strftime("%p",formatTime) #本地am或者pm的相应符
strTime
‘AM’

strTime=time.strftime("%S",formatTime) #秒(00 - 61)
strTime
‘19’

strTime=time.strftime("%U",formatTime) #一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周
strTime
‘39’

strTime=time.strftime("%w",formatTime) #一个星期中的第几天(0 - 6,0是星期天)
strTime
‘5’

strTime=time.strftime("%W",formatTime) #%W 和%U基本相同,不同的是%W以星期一为一个星期的开始
strTime
‘40’

strTime=time.strftime("%x",formatTime) #本地相应日期字符串
strTime
‘10/05/18’

strTime=time.strftime("%X",formatTime) #本地相应时间字符串
strTime
‘11:37:19’

strTime=time.strftime("%z",formatTime) #与UTC时间的间隔(如果是本地时间,返回空字符串)
strTime
‘+0800’

strTime=time.strftime("%Z",formatTime) #时区的名字(如果是本地时间,返回空字符串)
strTime
‘?D1¨²¡À¨º¡Á?¨º¡À??’

strTime=time.strftime("%%",formatTime) #‘%’字符
strTime
‘%’

标签:struct,tm,formatTime,time,时间,strTime,strftime
来源: https://blog.csdn.net/yan_jin_feng/article/details/89349292