Pythonのarrowライブラリの使い方|日付や時刻を簡単に操作する方法

スポンサーリンク

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)
スポンサーリンク

特定のタイムゾーンの現在の時刻にアクセスする

例 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

日付を文字列に変換するパース処理

Pip Arrow Install Command
pip-arrow Install Command

結果は、以下の通りです。

2013-05-05T12:30:45+00:00

How to instantiate date from passed arguments?

Output Timezone Conversion
Output- Timezone Conversion

結果は以下の通りです。

2020-01-02T00:00:00+00:00

日付と時刻に関する操作の実行

replace()shift()` メソッドは、現在の日付に従って未来と過去の日付を利用するために使われる。

例えば、以下の様になります。

Output Timezone Conversion 1
Output-Timezone Conversion

結果は以下の通りです。

Output Date From Timezone
Output-Date From Timezone

人間に優しい日付時刻の表現方法

humanize() メソッドを使うと、現在の日付/時刻に応じた人間に優しい日付/時刻の表現を提供することができる。

humanize() メソッドを使うと、与えられた時間からの経過時間を知ることができる。

例えば、以下の様になります。

Output Manipulation On Date Time
Output-Manipulation On Date Time

結果を出力すると、以下の様になります。

2020-01-02T14:34:40.447432+05:30
経過した時間
たった今

まとめ

この記事で、arrowモジュールが提供する機能を理解しました。

これは、タイムゾーンをサポートする日付と時刻を扱うためのシンプルなモジュールです。

タイトルとURLをコピーしました