官术网_书友最值得收藏!

2.10 日期和時間

日期和時間并不是Python的基礎數據類型,但是一個非常常用且重要的類型。

時間,既簡單又復雜。說它簡單,是因為每個人在日常生活中每天都會接觸到;說它復雜,是因為人類至今未能對它有精確的定義。

對于程序員而言,說它簡單,是因為已經有很多成熟的模塊幫助我們來處理與時間相關的任務;說它復雜,是因為時間牽涉到時區、語言、計算、精度等方面,非常煩瑣。

Python有datetime模塊,這個模塊有幾個細分的類型:

·如果應用場景只關心日期(年、月、日),用Date類型。

·如果應用場景只關心時間(小時、分、秒、毫秒),用Time類型。

·如果應用場景對日期和時間都關心,用Datetime類型。

我們從最簡單的任務開始:獲取當前時間。


>>> from datetime import datetime
>>> current_time = datetime.now()
>>> print(current_time)
2019-03-17 09:21:06.553652

從print語句的輸出可以容易地看出獲取到的“當前時間”的信息,這些信息包括:年、月、日、小時、分、秒、微秒(microsecond)。

我們來看一下獲取到的當前時間。


>>> from datetime import datetime
>>> current_time = datetime.now()
>>> current_time
datetime.datetime(2019, 3, 17, 9, 21, 6, 553652)

還可以更直觀地看到時間信息的各個構成部分。


>>> current_time.year
2019
>>> current_time.month
3
>>> current_time.day
17
>>> current_time.hour
9
>>> current_time.minute
21
>>> current_time.second
6

如果用type方法來查看其中的類型,我們可以看到year其實就是簡單的int類型。


>>> type(current_time)
<class 'datetime.datetime'>
>>> type(current_time.year)
<class 'int'>

如果我們關心的只是日期部分,可以只用日期的部分。


>>> today = datetime.now().date()
>>> today
datetime.date(2019, 3, 17)
>>> today.year
2019
>>> today.hour
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
AttributeError: 'datetime.date' object has no attribute 'hour'

主站蜘蛛池模板: 新丰县| 从江县| 昔阳县| 千阳县| 东辽县| 鄂托克前旗| 连云港市| 新干县| 辽阳市| 辽阳市| 乡城县| 渭南市| 龙口市| 金寨县| 舒城县| 华池县| 施甸县| 金堂县| 光山县| 康保县| 油尖旺区| 静安区| 黔江区| 黄浦区| 台山市| 青龙| 无为县| 马山县| 万山特区| 开化县| 扶绥县| 昂仁县| 手游| 建昌县| 平邑县| 溆浦县| 芮城县| 抚州市| 尼勒克县| 永济市| 鄂伦春自治旗|