time模塊
在Python中便锨,通常有這幾種方式來表示時間:1)時間戳 2)格式化的時間字符串 3)元組(struct_time)共九個元素。由于Python的time模塊實現(xiàn)主要調(diào)用C庫,所以各個平臺可能有所不同火的。
UTC(Coordinated Universal Time)即格林威治天文時間猴贰,為世界標(biāo)準(zhǔn)時間。中國北京為UTC+8怜庸。
DST(Daylight Saving Time)即夏令時当犯。
時間戳(timestamp)的方式:通常來說,時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數(shù)割疾。
我們運行“type(time.time())”嚎卫,返回的是float類型。
返回時間戳方式的函數(shù)主要有time()宏榕,clock()等拓诸。
元組(struct_time)方式:struct_time元組共有9個元素,返回struct_time的函數(shù)主要有g(shù)mtime()麻昼,localtime()奠支,strptime()。
下面列出這種方式元組中的幾個元素:
1.以元組方式返回本地當(dāng)前時間
>>> time.localtime()
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=8, tm_hour=16, tm_min=13, tm_sec=34, tm_wday=0, tm_yday=128, tm_isdst=0)
2.以元組方式返回格林威治時間
>>> time.gmtime()
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=8, tm_hour=8, tm_min=13, tm_sec=38, tm_wday=0, tm_yday=128, tm_isdst=0)
3.將元組時間轉(zhuǎn)換為時間戳
>>> x = time.localtime()
>>> time.mktime(x)
1494232890.0
4.將元組時間轉(zhuǎn)換為字符串格式時間
>>> x = time.localtime()
>>> time.strftime('%Y-%m-%d %H:%M:%S',x)
'2017-05-08 16:57:38'
5.將字符串格式時間轉(zhuǎn)換為元組格式時間
>>> time.strptime('2017-05-08 17:03:12','%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=8, tm_hour=17, tm_min=3, tm_sec=12, tm_wday=0, tm_yday=128, tm_isdst=-1)
6.元組格式時間轉(zhuǎn)換為字符串格式時間
>>> time.asctime()
'Tue May 9 15:23:21 2017'
>>> x = time.localtime()
>>> time.asctime(x)
'Tue May 9 15:23:39 2017'
7.時間戳轉(zhuǎn)換成字符串格式時間
>>> time.ctime()
'Tue May 9 16:07:24 2017'
>>> time.ctime(987867475)
'Sat Apr 21 23:37:55 2001'
格式參照:
字符串 | 功能 |
---|---|
%a | 本地(locale)簡化星期名稱 |
%A | 本地完整星期名稱 |
%b | 本地簡化月份名稱 |
%B | 本地完整月份名稱 |
%c | 本地相應(yīng)的日期和時間表示 |
%d | 一個月中的第幾天(01 - 31) |
%H | 一天中的第幾個小時(24小時制抚芦,00 - 23) |
%I | 第幾個小時(12小時制倍谜,01 - 12) |
%j | 一年中的第幾天(001 - 366) |
%m | 月份(01 - 12) |
%M | 分鐘數(shù)(00 - 59) |
%p | 本地am或者pm的相應(yīng)符 |
%S | 秒(01 - 61) |
%w | 一個星期中的第幾天(0 - 6,0是星期天) |
%W | 和%U基本相同燕垃,不同的是%W以星期一為一個星期的開始枢劝。 |
%x | 本地相應(yīng)日期 |
%X | 本地相應(yīng)時間 |
%y | 去掉世紀(jì)的年份(00 - 99) |
%Y | 完整的年份 |
%Z | 時區(qū)的名字(如果不存在為空字符) |
%% | %’字符 |
%U | 一年中的周數(shù)。(00 - 53卜壕,周日是一個周的開始您旁。)第一個星期天之前的所有天數(shù)都放在第0周 |
time模塊1.png
time模塊2.png
datetime模塊
import datetime
1.返回當(dāng)前時間
>>> datetime.datetime.now()
datetime.datetime(2017, 5, 9, 17, 7, 0, 514481)
2.時間戳轉(zhuǎn)換成日期
>>> datetime.date.fromtimestamp(1178766678)
datetime.date(2007, 5, 10)
3.當(dāng)前時間+3天
>>> datetime.datetime.now() + datetime.timedelta(+3)
datetime.datetime(2017, 5, 12, 17, 12, 42, 124379)
4.當(dāng)前時間-3天
>>> datetime.datetime.now() + datetime.timedelta(-3)
datetime.datetime(2017, 5, 6, 17, 13, 18, 474406)
5.當(dāng)前時間+3小時
>>> datetime.datetime.now() + datetime.timedelta(hours=3)
datetime.datetime(2017, 5, 9, 20, 13, 55, 678310)
6.當(dāng)前時間+30分鐘
>>> datetime.datetime.now() + datetime.timedelta(minutes=30)
datetime.datetime(2017, 5, 9, 17, 44, 40, 392370)