在目前Python开发中,大多数人会用到时间类型,比如如何处理时、分、秒等,目前Python开发常用的time.time()返回的是一个浮点数,单位为秒。但strftime处理的类型是time.struct_time,实际上是一个tuple。strptime和localtime都会返回这个类型,下面我们一起来一下如何操作呢?
>>>importtime
>>>t=time.time()
>>>t
p.p1{margin:0.0px0.0px0.0px0.0px;font:14.0px'BitstreamVeraSansMono';color:#29f914;background-color:#000000}
span.s1{font-variant-ligatures:no-common-ligatures}
1530271715.096017
>>>type(t)
>>>t=time.localtime()
>>>t
p.p1{margin:0.0px0.0px0.0px0.0px;font:14.0px'BitstreamVeraSansMono';color:#29f914;background-color:#000000}
span.s1{font-variant-ligatures:no-common-ligatures}
time.struct_time(tm_year=2018,tm_mon=6,tm_mday=29,tm_hour=19,tm_min=28,tm_sec=48,tm_wday=4,tm_yday=180,tm_isdst=0)
>>>type(t)
>>>time.strftime('%Y-%m-%d',t)
p.p1{margin:0.0px0.0px0.0px0.0px;font:14.0px'BitstreamVeraSansMono';color:#29f914;background-color:#000000}
span.s1{font-variant-ligatures:no-common-ligatures}
'2018-06-29'
>>>time.strptime('2008-10-1','%Y-%m-%d')
p.p1{margin:0.0px0.0px0.0px0.0px;font:14.0px'BitstreamVeraSansMono';color:#29f914;background-color:#000000}
span.s1{font-variant-ligatures:no-common-ligatures}
time.struct_time(tm_year=2018,tm_mon=10,tm_mday=1,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=0,tm_yday=274,tm_isdst=-1)
1、strftime的用法
strftime可以用来获得当前时间,可以将时间格式化为字符串等等,还挺方便的。但是需要注意的是获得的时间是服务器的时间,注意时区问题,比如gae撒谎那个的时间就是格林尼治时间的0时区,需要自己转换。
strftime()函数将时间格式化
我们可以使用strftime()函数将时间格式化为我们想要的格式
#!/usr/bin/python
importtime
t=(2009,2,17,17,3,38,1,48,0)
t=time.mktime(t)
print(time.strftime("%b%d%Y%H:%M:%S",time.gmtime(t)))
输出:
Oct01201809:03:38
2.strptime的用法
Pythontimestrptime()函数根据指定的格式把一个时间字符串解析为时间元组。
python中时间日期格式化符号:
%y两位数的年份表示(00-99)
%Y四位数的年份表示(000-9999)
%m月份(01-12)
%d月内中的一天(0-31)
%H24小时制小时数(0-23)
%I12小时制小时数(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当前时区的名称
%%%号本身
实例:
#!/usr/bin/python
importtime
struct_time=time.strptime("30Nov00","%d%b%y")
print"returnedtuple:%s"%struct_time
#输出:
time.struct_time(tm_year=2000,tm_mon=11,tm_mday=30,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=3,tm_yday=335,tm_isdst=-1)
网友评论