Python初學者教程:與日期時間相關的模塊


Python初學者教程:與日期時間相關的模塊

Python日期時間模塊

在本文中,我們將查看PythondateTime模塊。我們將學習如何創建當前時間,如何計算時間間隔,以及如何產生時間差異。根據Python文檔 :

pythondatetime模塊提供了以簡單和複雜的方式操作日期和時間的類。

因此,Pythondatetime模塊包含幾個類。讓我們逐一討論。

Pythondatetime模塊:datetime.datetime

讓我們討論如何使用DateTime.datetime班級,等級。

Datetime.datetime.今天()

datetime.datetime.today() 今天的日期。參見下面的示例。

<code>>>> print datetime.datetime.today()
2018–08–19 22:49:24.169000/<code>

Datetime.Now()

datetime.datetime.now() 顯示的輸出與datetime.datetime.today() .

<code>>>> print datetime.datetime.now() 

2018–08–19 22:49:51.541000/<code>

但是如果你提供時區datetime.datetime.now()返回指定時區的當前時間。

Python初學者教程:與日期時間相關的模塊

如果在字符串中提供時區信息,則解釋器將引發錯誤。

Python初學者教程:與日期時間相關的模塊

datetime.strptime(Date_String,Format)

這個datetime.strptime(date_string, format)取走date_string,將其格式化為參數,並返回datetime對象。如下所示。

Python初學者教程:與日期時間相關的模塊

stftime(格式)

這個strftime(format)控件生成格式化日期。datetime對象。

<code>>>> print datetime.datetime.now().strftime(“%d %b, %Y”)
22 Aug, 2018/<code>

時間()

此方法將秒轉換為以下形式的24個字符串:“Mon Jun 20 23:21:05 1994”。

<code>>>> datetime.datetime.now().ctime()
‘Thu Aug 23 00:07:28 2018’
>>>/<code>

等格式()

isoformat()返回一個字符串,表示ISO 8601格式的日期‘YYYYY-MM-DD’。例如:

日期時間

<code>>>> datetime.datetime.now().isoformat()
‘2018–08–23T00:11:32.393000’
>>>/<code>

日期時間

現在我們來討論一下datetime.date班級,等級。

日期時間。今天()

此方法返回今天的日期。例如:

<code>>>> import datetime
>>> print datetime.datetime.today()
2018–08–23 23:18:22.044000
>>>/<code>

從時間戳()

此方法將Unix郵票或紀元轉換為日期。例如:

Python初學者教程:與日期時間相關的模塊

datetime.timeDelta

datetime.timedelta 用於在兩個日期或時間之間創建時間差。

這個datetime.timedelta 類接受關鍵字參數。根據Python文檔 :

所有參數都是可選的,默認為0。參數可以是整數、長參數或浮動參數,也可以是正的或負的。內部只存儲天、秒和微秒。參數被轉換為這些單位。

讓我們為Delta做不同的練習。

讓我們創建一個10秒的時間增量。

<code>>>> import datetime
>>> delta1=datetime.timedelta(seconds=10)/<code>

接下來,我們將從當前時間減去時間增量。

Python初學者教程:與日期時間相關的模塊

現在,我們將時間增量添加到當前時間。

Python初學者教程:與日期時間相關的模塊

讓我們再做一次更完整的練習。

  1. 創建一個Unix時間意味著10天前的一個時代。
  2. 10天后創建一個Unix時間。

讓我們一步地走

<code>>>> import datetime
>>> import time/<code>

為時間差創建兩個三角洲,一個用於10天前,另一個用於10天后。

<code>>>> delta1=datetime.timedelta(days=10)
>>> delta2=datetime.timedelta(days=-10)/<code>

將兩個三角洲添加到當前時間。

Python初學者教程:與日期時間相關的模塊

為了刪除浮點數的使用,strftime方法已被使用。

<code>>>> date1 = ten_days_ago.strftime( “%Y-%m-%d %H:%M:%S” ) 

>>> date1
‘2018–08–14 23:09:04’/<code>

當我們使用該模塊時,Unix時間或時代已經創建。

Python初學者教程:與日期時間相關的模塊

Python日曆模塊

現在,我們將使用日曆模塊打印特定月份的日曆。為了打印一個特定的月份,calendar.month(year, month) 將要如下圖所示。

Python初學者教程:與日期時間相關的模塊

讓我們打印2018年的日曆。

<code>>>> import calendar
>>> print calendar.calendar(2018)/<code>

考慮一下你是否想知道某個特定的年份是否是閏年。你可以用calendar.isleap(year) .參見下面的示例。

Python初學者教程:與日期時間相關的模塊

考慮一下,如果您想要找出在y1到y2範圍內的閏年數。參見下面的示例。

Python初學者教程:與日期時間相關的模塊

去年不包括在範圍內。

考慮到你想知道在不同國家的時間。默認情況下,與時間相關的模塊根據時區返回時間。讓我們看看如何從不同的國家獲得時間。

<code>>>> import datetime
>>> import pytz/<code>

讓我們檢查一下“美國/東方”的當前時間。

<code>>>> print datetime.datetime.now(pytz.timezone(‘US/Eastern’))
2018–08–25 14:25:34.712000–04:00
>>>/<code>

讓我們看看目前在印度加爾各答的時間。

<code>>>> print datetime.datetime.now(pytz.timezone(‘Asia/Kolkata’))
2018–08–25 23:56:40.564000+05:30/<code>

如果不知道時區的名稱,則可以使用國家名稱搜索時區。

<code>>>> pytz.country_timezones.get(“NZ”)
[u’Pacific/Auckland’, u’Pacific/Chatham’]
>>>/<code>

新西蘭有兩個時區。

讓我們看看印度時區的名稱。

<code>>>> pytz.country_timezones.get(“IN”)
[u’Asia/Kolkata’]
>>>
pytz.country_timezones.keys()/<code>

上一行返回國家縮寫列表,如下所示。

[U‘BD’,u‘Be’,u‘BF’,u‘BG’,u‘ba’,u‘BB’,u‘WF’,u‘BL’,u‘BM’,u‘bb’,u‘BO’,u‘BH’,u‘bi’,u‘bj’,u‘BT’,u‘jm’,u‘bw’,u‘ws’,u‘bq’,u‘br’,u‘bs’,u‘je’,u‘by’等等。).]

如果您想確認“in”是否屬於印度或其他國家(如伊朗),您可以使用pytz.country_names.get( ‘IN’ ) .

<code>>>> print (pytz.country_names.get( ‘IN’ ) )
#Prints "India"/<code>

如果要檢查所有國家及其縮寫,請使用以下代碼:

<code>>>> for each in pytz.country_names.iteritems():
… print each


(u’BD’, u’Bangladesh’)
(u’BE’, u’Belgium’)
(u’BF’, u’Burkina Faso’)
(u’BG’, u’Bulgaria’)/<code>

我希望你喜歡這篇文章!



分享到:


相關文章: