Python 中的 datetime 模塊的簡單使用

datetime 對象可以打印精確的當前日期和時間:

In [1]: from datetime import datetime   

In [2]: datetime.utcnow()      # 獲得格林威治時間,即倫敦時間,比北京時間慢 8 小時
Out[2]: datetime.datetime(2018, 2, 20, 16, 53, 30, 587768)

In [3]: datetime.now()         # 獲得本地時間,即北京時間
Out[3]: datetime.datetime(2018, 2, 21, 0, 53, 41, 794014)

In [4]: print(datetime.now())  # 用 print 格式化打印樣式
2018-02-21 01:02:20.425024

In [5]: datetime.now()
Out[5]: datetime.datetime(2018, 3, 12, 13, 17, 37, 771038)

In [6]: datetime.now().date() # 取日期
Out[6]: datetime.date(2018, 3, 12)

In [7]: datetime.now().time() # 取時間
Out[7]: datetime.time(13, 17, 54, 87407)

In [8]: print(datetime.now().date())
2018-03-12

In [8]: print(datetime.now().time())
13:18:08.385321

striptime 方法將字符串轉換為 datetime 數據類型:

In [12]: type(datetime.now())  
Out[12]: datetime.datetime

In [13]: s = '2018-02-21 Kobe 01#:02:20'

# 格式化字符串,使之轉換為 datetime 數據類型
In [14]: d = datetime.strptime(s, '%Y-%m-%d Kobe %H#:%M:%S')

In [15]: d
Out[15]: datetime.datetime(2018, 2, 21, 1, 2, 20)

In [16]: print(d)
2018-02-21 01:02:20

In [17]: type(d)
Out[17]: datetime.datetime

strftime 方法將 datetime 數據類型轉換為字符串:

In [26]: d
Out[26]: datetime.datetime(2018, 2, 21, 1, 2, 20)

# %a 簡化英文星期名稱
# %m 月份(01-12)
# %d 月中的一天(0-31)
In [27]: s = d.strftime('%a %m %d %H:%M:%S')

In [28]: s
Out[28]: 'Wed 02 21 01:02:20'

timedelta 方法加減日期時間:

In [53]: from datetime import timedelta

In [54]: now = datetime.now()

In [55]: now
Out[55]: datetime.datetime(2018, 2, 21, 1, 51, 19, 90276)

# 參數包括 days、hours、seconds 等
# 所有參數均為可選參數,且默認都是 0,參數值可以是整數、浮點數、正數或負數
In [56]: now + timedelta(days=1)
Out[56]: datetime.datetime(2018, 2, 22, 1, 51, 19, 90276)

In [57]: now + timedelta(days=3, hours=-1.5)
Out[57]: datetime.datetime(2018, 2, 24, 0, 21, 19, 90276)

In [58]: now - timedelta(days=-3, hours=1.5)
Out[58]: datetime.datetime(2018, 2, 24, 0, 21, 19, 90276)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容