在本教程中,您將學習 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() 方法對列表進行排序