ブラックボックス

プログラミングのノウハウやライフハックをどんどん投稿していきたい

Feb 14, 2021 - 1 minute read - ノウハウ

【AWS】Lambdaでタイムゾーンを設定する

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になることを確認。