【问题标题】:Current date/time issue with AWS-Lambda functionAWS-Lambda 函数的当前日期/时间问题
【发布时间】:2018-01-17 13:22:23
【问题描述】:

我将 python 用于 lambda 函数,它工作正常。 lambda 函数返回的日期和时间存在一个小问题。它显示不同的日期/时间,我认为它显示 UTC 时区。显示时间比原定时间早 4 小时

目前,我连接到 us-east-1 区域,并希望根据我的区域获得结果。

到目前为止,我尝试了 lambda 函数:

import time
time.ctime() 

from datetime import datetime
datetime.now().strf("%m-%d-%Y %H:%M:%S") 

file_name = 'VDI_Health_Status_Report-%s.csv' % time.ctime()
print(file_name)

在本地,它们工作正常,但使用 lambda 函数,我没有得到想要的结果。我还遇到了 python 中的“pytz”模块,这可能是解决方案,但不确定 lambda 函数是否可以访问它,因为我必须在本地安装模块。有什么办法解决这个问题或有什么建议吗?谢谢

【问题讨论】:

  • 我在您提供的代码中没有看到任何 lambda 函数。我们需要更多你正在使用的东西来弄清楚发生了什么
  • @Aaron 我认为我的 lambda 函数与当前日期/时间无关。这就是为什么我没有提供代码。我只是想打印出当前的日期和时间。 lambda函数基本执行的时间。
  • time.ctime 对我来说很好用。你想在 tio 服务器上运行它吗? (这就是为什么你只是有一些看起来很有趣的输出的屏幕截图)如果你在某个服务器上运行它,你将获得该服务器的本地时间。
  • 我现在意识到您的意思是 aws-lambda 而不是在谈论 lambda 函数。您需要一开始就指定它以防止混淆。至于你能用 pytz 吗.. 试试看?无论如何,可能比谷歌搜索要快。
  • 是的,我说的是 Aws-lambda 函数。我被你最后的评论弄糊涂了。我刚刚发现,我必须安装 pytz lib 才能在 aws-lambda 中使用

标签: python aws-lambda


【解决方案1】:

是的,AWS Lambda 使用 GMT 作为其所有服务器的本地时间。我自己才发现这一点。要准确获取本地时间,包括夏令时问题,请安装 pytz 库并使用它进行转换。默认情况下,pytz 库未安装在 AWS Lambda 上,您需要将其作为压缩包的一部分上传。

然后查看How to convert GMT time to EST time using python 了解如何继续。例如:

eastern_time = datetime.now(timezone('US/Eastern'))

请参阅Import pytz into AWS lambda function,了解如何使用您的 Lambda 应用安装 pytz。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多