Pythonの arrow モジュールは、日付と時刻の操作を可能にします。
インスタンスを作成し、それに応じてタイムスタンプを操作するのに役立ちます。
日付-時間の変換を扱うためのユーザーフレンドリーなアプローチを示している。
特徴
- Arrow モジュールは Python 2.7 以降のバージョンでサポートされています。
- タイムゾーンを意識しています。
- 文字列を自動的にパースする
- フルレベルの実装
arrowモジュールのインストール
pip install arrow`
import arrow
utc = arrow.utcnow()
print('UTC Time =', utc)
ist = arrow.now('Asia/Calcutta')
print('IST Time =', ist)
print('tzinfo =', ist.tzinfo)
local_time = arrow.now()
print('Local Time =', local_time)
|
この記事もチェック:Pythonのpytzの使い方|タイムゾーンを自在に操作する方法を解説
特定のタイムゾーンの現在の時刻にアクセスする
例 UTC、IST、ローカルタイムゾーンの現在の時刻を表示する場合。
import arrow
ist = arrow.now('Asia/Calcutta')
print('IST Time =', ist)
pst = ist.to('US/Pacific')
print('PST Time =', pst)
|
結果は、以下の通りです。
import arrow
local = arrow.now()
print('Current Local Time =', local)
print('Current Local Timestamp =', local.timestamp)
date = arrow.get(local.timestamp)
print('Date from Timestamp =', date)
|
タイムゾーンの変換
Pythonのarrowモジュールはタイムゾーンを変換する to() 関数を提供します。
import arrow
local = arrow.now()
result = local.format('YYYY-MM-DD')
print(result)
|
を出力します。
import arrow
local = arrow.now()
result = local.format('YYYY-MM-DD HH:mm:ss')
print(result)
|
タイムスタンプから日付を取得する方法は?
import arrow
date = arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss')
print(date)
|
出力してください。
import arrow
date = arrow.get(2020, 1, 2)
print(date)
|
arrowモジュールによる日付の書式設定
format` メソッドは、ユーザーの選択に従って、与えられた日付を操作し、フォーマットするために使われます。
例1: YYYY-MM-DD フォーマットで日付をフォーマットする場合
import arrow
utc = arrow.utcnow()
print('Current UTC= ', utc)
utc_updated1 = utc.replace(year=2017, month=9)
print('Updated UTC= ', utc_updated1)
utc_updated2 = utc.shift(years=-4, weeks=3)
print('Updated UTC= ', utc_updated2)
|
結果は以下の通りです。
2020-01-02
例2: YYYY-MM-DD HH:mm:ss フォーマットで日付をフォーマットする場合
import arrow
local = arrow.now()
print(local)
result = local.humanize()
print("Time elapsed: ")
print(result)
|
出力してください。
2020-01-02 14:12:11
日付を文字列に変換するパース処理

結果は、以下の通りです。
2013-05-05T12:30:45+00:00
How to instantiate date from passed arguments?

結果は以下の通りです。
2020-01-02T00:00:00+00:00
日付と時刻に関する操作の実行
replace()とshift()` メソッドは、現在の日付に従って未来と過去の日付を利用するために使われる。
例えば、以下の様になります。

結果は以下の通りです。

人間に優しい日付時刻の表現方法
humanize() メソッドを使うと、現在の日付/時刻に応じた人間に優しい日付/時刻の表現を提供することができる。
humanize() メソッドを使うと、与えられた時間からの経過時間を知ることができる。
例えば、以下の様になります。

結果を出力すると、以下の様になります。
2020-01-02T14:34:40.447432+05:30
経過した時間
たった今
まとめ
この記事で、arrowモジュールが提供する機能を理解しました。
これは、タイムゾーンをサポートする日付と時刻を扱うためのシンプルなモジュールです。