Python 时区仅使用 AWS Lambda 中可用的模块?

Python timezone using only modules available in AWS Lambda?

我正在尝试 运行 此代码改编自

from datetime import datetime
from pytz import timezone
import pytz

def lambda_handler(event, context):

    date_format='%m/%d/%Y %H:%M:%S %Z'
    date = datetime.now(tz=pytz.utc)
    print('Current date & time is:', date.strftime(date_format))

    date = date.astimezone(timezone('US/Pacific'))

    print('Local date & time is  :', date.strftime(date_format))

我运行正在使用 AWS Lambda。我收到此错误:

Response:
{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'pytz'",
  "errorType": "Runtime.ImportModuleError"
}

如何仅使用 AWS Lambda 中可用的导入来解决此问题?我想保持代码非常简约,以便可以将其直接复制粘贴到 AWS 控制台中,而无需添加有关如何设置程序包等的说明。

如果您无法访问 AWS Lambda 中的 pytz,您可以使用 python-dateutil
在这种情况下,您可以执行以下操作:

import datetime
import dateutil

date_format='%m/%d/%Y %H:%M:%S %Z'

IST = dateutil.tz.gettz('Asia/Kolkata')
print('Current date & time is : ',datetime.datetime.now(tz=IST).strftime(date_format))

or

eastern = dateutil.tz.gettz('US/Eastern')
print('Current date & time is : ',datetime.datetime.now(tz=eastern).strftime(date_format))

预览如下: