arrow是個時間日期庫,簡潔易用。支持python3.6
https://arrow.readthedocs.io/en/latest/ arrow官網api
https://github.com/crsmithdev/arrow arrow的GitHub托管的地址
http://www.iplaypy.com/module/m111.html 第三方時間日期庫 Python Arrow模塊
安裝:
pip install arrow
# -*- coding: utf-8 -*- # coding=utf-8 import arrow # local = utc.to('US/Pacific') # 時區修改 # local = utc.to('Asia/Shanghai') # 時區修改 local = arrow.now('local') # 獲取當前時間(推薦) print(local) print('-------------') # 時間增減 print(local.replace(years=-1)) print(local.replace(months=-1)) print(local.replace(days=-5)) print(local.replace(hours=-24)) print(local.replace(minutes=-10)) print(local.replace(seconds=-60)) print('-------------') # 字符串轉時間 print(arrow.get('2017-10-28T00:00:00+0800')) # print(arrow.get('2017-10-28', 'YYYY-MM-DD')) # 字符串轉時間(不推薦這樣用,沒有設時區) print(arrow.get('2017-10-28', 'YYYY-MM-DD', tzinfo='local')) # (推薦) print(arrow.get('2017-10-28', 'YYYY-MM-DD', tzinfo='Asia/Shanghai')) # 這樣也可以 print(arrow.get('2017-10-28 05:30:30', 'YYYY-MM-DD HH:mm:ss', tzinfo='local')) # (推薦) print('-------------') # 時間戳 print(local.timestamp) # 時間戳 print(arrow.get('1509120000', tzinfo='local')) # 時間戳字符串,轉換為本時區的時間 # 時間轉為字符串,輸出(格式化) print(local.format("YYYY-MM-DD")) print(local.format("YYYY-MM-DD HH:mm:ss")) print(local.replace(minutes=-1).humanize(locale='zh')) # 本地化個性時間短語: 剛才,1分鍾前,1天前,等 (zh_tw 更多語言的支持,去查看arrow/locales.py)
Arrow主要功能:
1、時區轉換
2、簡單的時間戳操作
3、時間跨度
4、非常人性化,支持越來越多的語言環境
5、實現datetime接口
6、支持Python 2.6、2.7和3.3
7、默認采用TZ-aware和UTC
8、創建簡潔、智能的接口
9、可以輕松更換和改變屬性
10、豐富的解析和格式化選項
11、可擴展的工廠架構來支持自定義Arrow派生類型
2017-11-27補充:
判斷是否是閏年:
def isLeapYear(year): if not year % 4 and year % 100 or not year % 400: return True return False runyear = [] for i in range(1890, 2150): if isLeapYear(i): runyear.append(i) print(runyear)
...