Python之time模块

来源:互联网 发布:同花顺期货软件 编辑:程序博客网 时间:2024/06/11 19:55

time.strptime():将普通字符时间转换为时间元祖,注意这两者在转换时需要指定字符时间的格式(%Y%m%d这里只用到了年月日)

import timeprint time.strptime('20170301', '%Y%m%d')
输出结果:

time.struct_time(tm_year=2017, tm_mon=3, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=60, tm_isdst=-1)

time.mktime():将上一步的时间元祖转换为时间戳,即1970年0时0分0秒到20170301的0时0分0秒为止,过了多少秒

import timeprint time.mktime(time.strptime('20170301','%Y%m%d'))
输出结果:


1488297600.0

time.localtime():将时间戳转换为时间元祖

import timeprint time.localtime(1488297600.0)

输出结果:

time.struct_time(tm_year=2017, tm_mon=3, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=60, tm_isdst=0)


time.strftime:将时间元祖复原为普通字符时间,同样注意需要指定字符时间的格式

import timeprint time.strftime('%Y%m%d',time.localtime(1488297600.0))

输出结果:

20170301


求当前时间:datetime.now()

from datetime import datetime, timedeltaprint datetime.now()print (datetime.now()).strftime('%Y%m%d')print (datetime.now()).strftime('%Y/%m/%d %H:%M:%S')

输出结果:

2017-03-01 09:48:23.104000
20170301
2017/03/01 09:48:23


时间运算:timedelta(weeks, days, hours, second, milliseconds, microseconds) ,参数可选,默认为0

from datetime import datetime, timedeltaprint (datetime.now()-timedelta(days=1)).strftime('%Y%m%d')  # 1天前的日期print (datetime.now()+timedelta(days=100)).strftime('%Y%m%d') # 100天后的日期print (datetime.now()-timedelta(hours=1)).strftime('%Y/%m/%d %H:%M:%S')      #求一小时前的时间

输出结果:

20170228201706092017/03/01 08:42:45


字符时间常用格式:

%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,59].  

%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.

from datetime import datetimeprint (datetime.now()).strftime('%Y')print (datetime.now()).strftime('%m')print (datetime.now()).strftime('%d')print (datetime.now()).strftime('%H')print (datetime.now()).strftime('%M')print (datetime.now()).strftime('%S')print (datetime.now()).strftime('%a')print (datetime.now()).strftime('%A')print (datetime.now()).strftime('%b')print (datetime.now()).strftime('%B')print (datetime.now()).strftime('%c')print (datetime.now()).strftime('%I')print (datetime.now()).strftime('%p')

输出结果:

2017
03
01
09
56
30

Wed
Wednesday
Mar
March
03/01/17 09:56:30
09
AM


0 0
原创粉丝点击