AWS Lambdaはインフラを意識せずコードが実行できるので便利だが、日時を取得するとUTCとなっている為、場合によっては不都合が生じる。
環境変数を設定することでタイムゾーンを変更出来る為、その方法をメモとして残す。
環境:
- ランタイム:Python3.8
- メモリ:128MB
コードはテストなので単純に現在日時を取得し返却するのみとする。
import datetime
def lambda_handler(event, context):
return datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S")
まずは環境変数は何も設定せずに動かす。
結果は下記の通り。
動かしたのが日本時間の10時ですが、-9時間のUTCが取得される。
次に、環境変数に下記を設定する。
キー:TZ
値:Asia/Tokyo
設定後、再度同じ関数を実行する。
結果は下記の通り。
日本時間が取得されていることを確認。 日本時間だけでなく、試しにTZに”America/New_York”を設定して-5:00になることを確認。