python的time和datetime模組 之 時間形式互轉__python
來源:互聯網
上載者:User
>>> import time
# float時間戳記形式
>>> time.time()
1459152027.0778329
# struct_time形式
>>> time.localtime()
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=28, tm_hour=16, tm_min=0, tm_sec=32, tm_wday=0, tm_yday=88, tm_isdst=0)
# float時間戳記 -> struct_time 轉換: time.gmtime()
>>> time.gmtime(time.time())
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=28, tm_hour=8, tm_min=3, tm_sec=58, tm_wday=0, tm_yday=88, tm_isdst=0)
# struct_time -> float時間戳記 轉換: time.mktime()
>>> time.mktime(time.localtime())
1459152306.0
# struct_time -> 格式化時間字串
>>> time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
'2016-03-28 16:08:34'
# 格式化時間字串 -> struct_time
>>> time.strptime('2016-03-28 16:08:34', "%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=28, tm_hour=16, tm_min=8, tm_sec=34, tm_wday=0, tm_yday=88, tm_isdst=-1)
>>> from datetime import datetime,date
# datetime函數
>>> datetime.now()
datetime.datetime(2016, 3, 28, 16, 22, 45, 418852)
>>> datetime.now().weekday() # 0 ~ 6 : 周一 ~ 周日
0
>>> datetime.now().isoweekday() # 1 ~ 7 : 周一 ~ 周日
1
# float時間戳記 -> datetime
>>> datetime.fromtimestamp(time.time())
datetime.datetime(2016, 3, 28, 16, 18, 50, 663856)
# datetime -> 格式化時間字串
>>> datetime.now().strftime("%Y%m%d")
'20160328'
%a 星期的簡寫。如 星期三為Web
%A 星期的全寫。如 星期三為Wednesday
%b 月份的簡寫。如4月份為Apr
%B月份的全寫。如4月份為April
%c: 日期時間的字串表示。(如: 04/07/10 10:43:39)
%d: 日在這個月中的天數(是這個月的第幾天)
%f: 微秒(範圍[0,999999])
%H: 小時(24小時制,[0, 23])
%I: 小時(12小時制,[0, 11])
%j: 日在年中的天數 [001,366](是當年的第幾天)
%m: 月份([01,12])
%M: 分鐘([00,59])
%p: AM或者PM
%S: 秒(範圍為[00,61],為什麼不是[00, 59],參考python手冊~_~)
%U: 周在當年的周數當年的第幾周),星期天作為周的第一天
%w: 今天在這周的天數,範圍為[0, 6],6表示星期天
%W: 周在當年的周數(是當年的第幾周),星期一作為周的第一天
%x: 日期文字(如:04/07/10)
%X: 時間字串(如:10:43:39)
%y: 2個數字表示的年份
%Y: 4個數字表示的年份
%z: 與utc時間的間隔 (如果是本地時間,返回Null 字元串)
%Z: 時區名稱(如果是本地時間,返回Null 字元串)
%%: %% => %
# 格式化時間字串 -> datetime
>>> datetime.strptime('20160328', "%Y%m%d")
datetime.datetime(2016, 3, 28, 0, 0)