目录
1:获取模块帮助文档
2:time模块方法
2.1:time.sleep(t)
2.2:time.time()
2.3:gmtime([seconds]) 时间戳-->UTC结构化时间
2.4:localtime([seconds]) 时间戳-->本地结构化时间
2.5:time.ctime(seconds) 时间戳-->本地格式化字符串
2.6:time.asctime([tuple]) 结构化时间-->格式化时间字符串
2.7:time.mktime(tuple) 结构化时间-->时间戳
2.8:strftime(format[, tuple]) 结构化时间-->时间字符串
2.9:time.strptime(string, format) 时间字符串-->结构化时间
3:时间格式转换
3.1 格式化字符串-->时间戳
3.2 时间戳-->格式化字符串
1:获取模块帮助文档
import time
print(time.__doc__)
print(dir(time))
for item in dir(time):
print(item)
print(help(time.time))
print(help(time.strftime))
print(help(time.strptime))
2:time模块方法
2.1:time.sleep(t)
time模块最常用的方法之一,用来睡眠或者暂停程序t秒,t可以是浮点数或整数。
2.2:time.time()
import time
print(time.time()) # 1590908279.7763638
2.3:gmtime([seconds]) 时间戳-->UTC结构化时间
将一个时间戳转换为UTC时区的结构化时间。可选参数secs的默认值为time.time()。
2.4:localtime([seconds]) 时间戳-->本地结构化时间
将一个时间戳转换为当前时区的结构化时间。如果secs参数未提供,则以当前时间为准,即time.time()。
import time
print(time.time()) # 1590908279.7763638
print(time.gmtime())
print(time.localtime())
print('*'*20)
print(time.gmtime(1580908279))
print(time.localtime(1580908279))
"""
1590908802.0024452
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=31, tm_hour=7, tm_min=6, tm_sec=42, tm_wday=6, tm_yday=152, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=31, tm_hour=15, tm_min=6, tm_sec=42, tm_wday=6, tm_yday=152, tm_isdst=0)
********************
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=5, tm_hour=13, tm_min=11, tm_sec=19, tm_wday=2, tm_yday=36, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=5, tm_hour=21, tm_min=11, tm_sec=19, tm_wday=2, tm_yday=36, tm_isdst=0)
"""
2.5:time.ctime(seconds) 时间戳-->本地格式化字符串
把一个时间戳转化为本地时间的格式化字符串。默认使用time.time()作为参数。
import time
print(time.ctime())
print(time.ctime(time.time()))
print(time.ctime(1580908279))
"""
Sun May 31 15:12:56 2020
Sun May 31 15:12:56 2020
Wed Feb 5 21:11:19 2020
"""
2.6:time.asctime([tuple]) 结构化时间-->格式化时间字符串
把一个结构化时间转换为Sun May 31 15:15:36 2020这种形式的格式化时间字符串。默认将time.localtime()作为参数。
import time
print(time.asctime())
print(time.asctime(time.localtime()))
print(time.asctime(time.localtime(1580908279)))
"""
Sun May 31 15:15:36 2020
Sun May 31 15:15:36 2020
Wed Feb 5 21:11:19 2020
"""
2.7:time.mktime(tuple) 结构化时间-->时间戳
将一个结构化时间转化为时间戳。time.mktime()执行与gmtime(),localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数表示时间的浮点数。
import time
print(time.mktime(time.localtime())) # 1590909638.0
2.8:strftime(format[, tuple]) 结构化时间-->时间字符串
把一个struct_time(如time.localtime()和time.gmtime()的返回值)转化为格式化的时间字符串,显示的格式由参数format决定。如果未指定t,默认传入time.localtime()。
import time
print(time.strftime("%Y-%m-%d %H:%M:%S"))
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()))
"""
2020-05-31 15:25:37
2020-05-31 07:25:37
"""
"""
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
"""
2.9:time.strptime(string, format) 时间字符串-->结构化时间
将格式化时间字符串转化成结构化时间。该方法是time.strftime()方法的逆操作。
import time
stime = "2020-05-31 15:25:37"
st = time.strptime(stime,"%Y-%m-%d %H:%M:%S")
print(st)
print(time.mktime(st)) # 转换为时间戳
"""
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=31, tm_hour=15, tm_min=25, tm_sec=37, tm_wday=6, tm_yday=152, tm_isdst=-1)
%Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM.
"""
3:时间格式转换
时间格式转换汇总:
从 | 到 | 方法 |
时间戳 | UTC结构化时间 | gmtime() |
时间戳 | 本地结构化时间 | localtime() |
UTC结构化时间 | 时间戳 | calendar.timegm() |
本地结构化时间 | 时间戳 | mktime() |
结构化时间 | 格式化字符串 | strftime() |
格式化字符串 | 结构化时间 | strptime() |
格式化字符串 | 时间戳 | 见下面代码 |
时间戳 | 格式化字符串 | 见下面代码 |
3.1 格式化字符串-->时间戳
# encoding=gbk
import time
# stime 与 format需要对应
def str2time(stime,format="%Y-%m-%d %H:%M:%S"):
st = time.strptime(stime,format)
return time.mktime(st)
# return time.mktime(time.strptime(stime,format))
if __name__ == "__main__":
print(str2time("2020-05-31 15:58:34" ))
print(str2time("2020-05-31 15","%Y-%m-%d %H" ))
print(str2time("2020-05-31","%Y-%m-%d" ))
"""
1590911914.0
1590908400.0
1590854400.0
"""
3.2 时间戳-->格式化字符串
# encoding=gbk
import time
def time2str(itime,format="%Y-%m-%d %H:%M:%S"):
st=time.localtime(itime)
return time.strftime(format,st)
# return time.strftime(format,time.localtime(itime))
if __name__ == "__main__":
print(time2str(1590911914))
print(time2str(1590854400,"%Y-%m-%d %H"))
"""
2020-05-31 15:58:34
2020-05-31 00
"""