py 時間與日期

2022-08-20 03:21:12 字數 2952 閱讀 2348

python 程式能用很多方式處理日期和時間,轉換日期格式是乙個常見的功能。

python 提供了乙個 time 和 calendar 模組可以用於格式化日期和時間。

時間間隔是以秒為單位的浮點小數。

每個時間戳都以自從2023年1月1日午夜(曆元)經過了多長時間來表示。

python 的 time 模組下有很多函式可以轉換常見日期格式。如函式time.time()用於獲取當前時間戳, 如下例項:

1

import 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之類的函式。

1

import

time

23 localtime =time.localtime(time.time())

4print

"本地時間為 :

", localtime

你可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函式是asctime():

本地時間為:thuapr710:05:212016

我們可以使用 time 模組的 strftime 方法來格式化日期,:

1

import

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中時間日期格式化符號:

import

calendar

cal = calendar.month(2016, 1)

print

"以下輸出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 而直接儲存年...