如何在 Python 中獲取當前日期和時間

在本教程中,您將學習 DateTime 模塊提供的類,用於在 Python 3.x 中以簡單和復雜的方式操作日期和時間。 這 datetime 模塊包含 datetime 類,以獲取您將使用的當前日期和時間 now() 方法。

獲取當前時間和日期

要顯示當前時間和日期,我們將導入 datetime 班級來自 datetime 模塊。 之後我們將使用 now() 創建對象的方法。

from datetime import datetime
now = datetime.now()
print("Current Time =", now)

output
Current Time = 2019-08-20 21:27:27.299378

獲取當前時間和日期屬性

我們創建之後 now 對象來自 datetime 類,這個對像變得有方法和屬性幫助我們分別年、月、日、時、分、秒和微秒。

print ("Current Year is: %d" % now.year)
print ("Current Month is: %d" % now.month)
print ("Current Day is: %d" % now.day)
print ("Current Hour is: %d" % now.hour)
print ("Current Minute is: %d" % now.minute)
print ("Current Second is: %d" % now.second)
print ("Current Microsecond is: %d" % now.microsecond)

output
Current Year is: 2019
Current Month is: 8
Current Day is: 20
Current Hour is: 21
Current Minute is: 27
Current Second is: 27
Current Microsecond is: 299378

使用 strftime() 獲取當前時間和日期

我們將使用日期、時間和日期時間對象轉換為其等效的字符串 strftime() methode.

year = now.strftime("%Y")
print("year:", year)
month = now.strftime("%m")
print("month:", month)
day = now.strftime("%d")
print("day:", day)
time = now.strftime("%H:%M:%S")
print("time:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)

output
year: 2019
month: 08
day: 20
time: 21:27:27
date and time: 08/20/2019, 21:27:27

格式化日期和時間列表

下表顯示了您可以傳遞給 strftime() 方法:

選項意義例子
%a縮寫的工作日名稱。週日、週一、…
%A完整的工作日名稱。星期天星期一, …
%w工作日為十進制數。0, 1, …, 6
%d以零填充小數表示的月份中的第幾天。01, 02, …, 31
%-d以十進制數表示的月份中的第幾天。1, 2, …, 30
%b縮寫的月份名稱。一月、二月、…、十二月
%B完整的月份名稱。一月二月, …
%m以零填充的十進制數表示的月份。01, 02, …, 12
%-m月份為十進制數。1, 2, …, 12
%y沒有世紀的年份作為零填充的十進制數。00, 01, …, 99
%-y沒有世紀的年份作為十進制數。0, 1, …, 99
%Y以世紀為十進制數的年份。2013、2019年等
%H小時(24 小時制)作為補零的十進制數。00, 01, …, 23
%-H小時(24 小時制)作為十進制數。0, 1, …, 23
%I小時(12 小時制)作為用零填充的十進制數。01, 02, …, 12
%-I小時(12 小時制)作為十進制數。1, 2, … 12
%p語言環境的 AM 或 PM。上午下午
%M分鐘作為用零填充的十進制數。00, 01, …, 59
%-M分鐘作為十進制數。0, 1, …, 59
%S第二個是用零填充的十進制數。00, 01, …, 59
%-S第二個是十進制數。0, 1, …, 59
%f微秒為十進制數,左側補零。000000 – 999999
%z+HHMM 或 -HHMM 形式的 UTC 偏移量。
%Z時區名稱。
%j以零填充的十進制數表示的一年中的第幾天。001, 002, …, 366
%-j以十進制數表示的一年中的第幾天。1, 2, …, 366
%U一年中的周數(星期日作為一周的第一天)。 新年第一個星期日之前的所有日子都被視為第 0 週。00, 01, …, 53
%W一年中的周數(星期一作為一周的第一天)。 新年中第一個星期一之前的所有日子都被視為第 0 週。00, 01, …, 53
%c區域設置的適當日期和時間表示。2013 年 9 月 30 日星期一 07:06:05
%x區域設置的適當日期表示。13 年 9 月 30 日
%X區域設置的適當時間表示。07:06:05
%%文字 ‘%’ 字符。%

從時間戳獲取當前時間和日期

時間戳是在數據庫中存儲日期和時間的一種非常常見的方式。 Unix 時間戳是特定日期與 UTC 時間 1970 年 1 月 1 日之間的秒數。

timestamp = 1545730073
dt_object = datetime.fromtimestamp(timestamp)
print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))

output
dt_object = 2018-12-25 01:27:53
type(dt_object) =

我們用了 fromtimestamp() 返回本地日期和時間的方法。

從當前時間和日期獲取時間戳

我們將當前時間和日期轉換為我們使用的時間戳 now 對象獲取當前時間和日期,這是在數據庫中存儲時間和日期的簡單方法。

timestamp = datetime.timestamp(now)
print("timestamp =", timestamp)

output
timestamp = 1566417574.394412

獲取時區的當前時間

我們將使用 pytz 模塊與 datetime 獲取時區時間的模塊。

tz_Paris = pytz.timezone('Europe/Paris')
datetime_Paris = datetime.now(tz_Paris)
print("Paris time:", datetime_Paris.strftime("%H:%M:%S"))

output
Paris time: 22:30:05

結論

在本教程中,我們學習瞭如何在 Python 中獲取當前日期和時間。 希望您喜歡閱讀,請在下面的評論部分留下您的建議。

1)Datetime是Python內置的庫,可以幫助我們處理日期和時間。
2) 的 strftime 函數允許我們控制時間和日期格式。
3)時間戳類型允許我們在數據庫中存儲時間和日期。

另請閱讀:

  • 如何在 Ubuntu 18.04 上設置 Python 虛擬環境
  • 如何在 Ubuntu 18.04 上安裝最新的 Python
  • 如何使用 Python Append() 命令在列表中添加項目
  • 如何使用 Python Sort List() 方法對列表進行排序