python 程式能用很多方式處理日期和時間,轉換日期格式是乙個常見的功能。
python 提供了乙個 time 和 calendar 模組可以用於格式化日期和時間。
時間間隔是以秒為單位的浮點小數。
每個時間戳都以自從2023年1月1日午夜(曆元)經過了多長時間來表示。
python 的 time 模組下有很多函式可以轉換常見日期格式。如函式time.time()用於獲取當前時間戳, 如下例項:
1import time #
引入time模組
23 ticks =time.time()
4print
"當前時間戳為:
", ticks
序號字段值0
4位數年
20081月
1 到 122日
1到313小時
0到234分鐘
0到595秒
0到61 (60或61 是閏秒)
6一周的第幾日
0到6 (0是周一)
7一年的第幾日
1到366 (儒略曆)
8夏令時
-1, 0, 1, -1是決定是否為夏令時的旗幟
上述也就是struct_time元組。這種結構具有如下屬性:
序號屬性值0
tm_year
2008
1tm_mon
1 到 12
2tm_mday
1 到 31
3tm_hour
0 到 23
4tm_min
0 到 59
5tm_sec
0 到 61 (60或61 是閏秒)
6tm_wday
0到6 (0是周一)
7tm_yday
1 到 366(儒略曆)
8tm_isdst
-1, 0, 1, -1是決定是否為夏令時的旗幟
從返回浮點數的時間戳方式向時間元組轉換,只要將浮點數傳遞給如localtime之類的函式。
1import
time
23 localtime =time.localtime(time.time())
4print
"本地時間為 :
", localtime
你可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函式是asctime():
本地時間為:thuapr710:05:212016我們可以使用 time 模組的 strftime 方法來格式化日期,:
1import
time23
#格式化成2016-03-20 11:45:39形式
4print time.strftime("
%y-%m-%d %h:%m:%s
", time.localtime()) 56
#格式化成sat mar 28 22:24:24 2016形式
7print time.strftime("
%a %b %d %h:%m:%s %y
", time.localtime()) 89
#將格式字串轉換為時間戳
10 a = "
sat mar 28 22:24:24 2016"11
print time.mktime(time.strptime(a,"
%a %b %d %h:%m:%s %y
"))
ython中時間日期格式化符號:
importcalendar
cal = calendar.month(2016, 1)
"以下輸出2023年1月份的日曆:
"print cal
time 模組包含了以下內建函式,既有時間處理的,也有轉換時間格式的:
序號函式及描述
1time.altzone
返回格林威治西部的夏令時地區的偏移秒數。如果該地區在格林威治東部會返回負值(如西歐,包括英國)。對夏令時啟用地區才能使用。
2time.asctime([tupletime])
接受時間元組並返回乙個可讀的形式為"tue dec 11 18:07:14 2008"(2023年12月11日 周二18時07分14秒)的24個字元的字串。
3time.clock( )
用以浮點數計算的秒數返回當前的cpu時間。用來衡量不同程式的耗時,比time.time()更有用。
4time.ctime([secs])
作用相當於asctime(localtime(secs)),未給引數相當於asctime()
5time.gmtime([secs])
接收時間戳(1970紀元後經過的浮點秒數)並返回格林威治天文時間下的時間元組t。注:t.tm_isdst始終為0
6time.localtime([secs])
接收時間戳(1970紀元後經過的浮點秒數)並返回當地時間下的時間元組t(t.tm_isdst可取0或1,取決於當地當時是不是夏令時)。
7time.mktime(tupletime)
接受時間元組並返回時間戳(1970紀元後經過的浮點秒數)。
8time.sleep(secs)
推遲呼叫執行緒的執行,secs指秒數。
9time.strftime(fmt[,tupletime])
接收以時間元組,並返回以可讀字串表示的當地時間,格式由fmt決定。
10time.strptime(str,fmt='%a %b %d %h:%m:%s %y')
根據fmt的格式把乙個時間字串解析為時間元組。
11time.time( )
返回當前時間的時間戳(1970紀元後經過的浮點秒數)。
12time.tzset()
根據環境變數tz重新初始化時間相關設定。
時間與日期
通常確定時間和日期對乙個程式來說是很有用的,程式可能希望記錄執行時間.或者在某一時間後改變執行方式.例如乙個遊戲可能需要玩家在倒計時內完成某個任務 所有的 系統都使用同一時間和日期起點 格林威治時間 1970年1月1日.而 紀元開始於1980年.時間通過乙個長整型的預定義型別time t來表示,它和...
c 時間與日期
注意c 11有更強大的方法!隨機數及atoi include int abs int num 功能 函式返回引數num.的絕對值。double atof const char str 功能 將字串str轉換成乙個雙精度數值並返回結果。int atoi const char str 功能 將字串str...
Linux C 時間與日期
linux下儲存時間常見的有兩種儲存方式,乙個是從1970年到現在經過了多少秒,乙個是用乙個結構來分別儲存年月日時分秒的。time t 這種型別就是用來儲存從1970年到現在經過了多少秒,要想更精確一點,可以用結構struct timeval,它精確到微妙。struct timeval 而直接儲存年...