Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで日時をローカルタイムゾーンで表示する方法

Pythonでタイムゾーンを扱う最も簡単な方法は、pytztzlocalというモジュールを使用することです。これらのライブラリを使うことで、正確かつクロスプラットフォーム対応のタイムゾーン計算が可能になります。

pytzはOlsonタイムゾーンデータベース(tz database)をPythonに取り込むライブラリです。さらに、夏時間(デイライト・セービング・タイム)終了時に発生しがちな「あいまいな時刻」の問題も解決してくれます。この詳細については、Pythonライブラリリファレンス(datetime.tzinfo)を参照してください。

ライブラリのインストール

使用する前に、以下のコマンドでpytzとtzlocalをインストールしておきましょう。

$ pip install pytz tzlocal

サンプルコード

pytzライブラリを使った具体的な例を見てみましょう。まずUTCでの現在時刻を取得し、それをローカルタイムゾーンに変換して表示します。

from datetime import datetime
from pytz import timezone
from tzlocal import get_localzone

format = "%Y-%m-%d %H:%M:%S %Z%z"

# UTCでの現在時刻を取得
now_utc = datetime.now(timezone('UTC'))
print(now_utc.strftime(format))

# ローカルタイムゾーンへ変換
now_local = now_utc.astimezone(get_localzone())
print(now_local.strftime(format))

実行結果

上記のコードを実行すると、次のような出力が得られます。

2018-01-03 07:05:50 UTC+0000
2018-01-03 12:35:50 IST+0530

1行目がUTCでの現在時刻、2行目がローカルタイムゾーン(この例ではインド標準時IST)に変換された時刻です。このように、astimezone()メソッドとget_localzone()関数を組み合わせることで、任意の時刻を簡単にローカルタイムゾーンへ変換できます。

  1. 【Android】SQLiteで現地時刻(ローカル時間)を取得・表示する方法

    AndroidのSQLiteとはまず、AndroidにおけるSQLiteデータベースについて簡単に説明します。SQLiteはオープンソースのSQLデータベースエンジンで、デバイス上のテキストファイルにデータを保存します。Androidには標準でSQLiteの実装が組み込まれており、リレーショナルデータベースの基本的な機能をすべてサポートしています。また、JDBCやODBCのような接続確立の手順が不要なため、非常に手軽に利用できる点も大きな特徴です。本記事では、AndroidのSQLiteで現地時刻(ローカルタイム)を取得して表示する方法を、実際のコード例とともに解説します。ポイントとなるのは、

  2. Pythonでパターンを出力する方法|三角形・数字・アルファベット・ピラミッドのコード例

    Pythonでパターンを出力するには、ネストされた(入れ子構造の)forループを使用します。外側のループで行数を制御し、内側のループで列数を処理します。そしてprint文を工夫することで、目的に応じたさまざまなパターンを作成できます。パターンには、星(アスタリスク)パターン、数字パターン、アルファベットパターンなどがあり、三角形やピラミッドなど、さまざまな形状にも対応できます。パターン出力の基本これらのパターンは、print文を少し変更しながらforループを組み合わせることで出力できます。基本的な考え方はどのパターンも共通しており、違いはごくわずかです。ここからは、代表的なパターンのコードを実