代码之家  ›  专栏  ›  技术社区  ›  pdoherty926

使用boto3列出S3对象时,强制AWS lambda使用UTC

  •  0
  • pdoherty926  · 技术社区  · 7 年前

    当使用python 3.6和boto3在AWS lambda上检索对象列表时,对象 LastModified 属性正在使用 'LastModified': datetime.datetime(2018, 8, 17, 1, 51, 31, tzinfo=tzlocal()) .

    当我在本地运行程序时,此属性使用 'LastModified': datetime.datetime(2018, 8, 17, 1, 51, 31, tzinfo=tzutc()) 这就是我想要的。

    为什么会这样?是否有解决方案允许我将UTC指定为请求的一部分?或者,是否有一个简单的方法来转换这些 datetime 从S3返回后S到UTC?

    1 回复  |  直到 7 年前
        1
  •  0
  •   John Rotenstein    7 年前

    运行此代码:

    from datetime import datetime
    from dateutil import tz
    from dateutil.tz import tzlocal
    
    d_local = datetime(2018, 8, 17, 1, 51, 31, tzinfo=tzlocal())
    
    d_utc = d_local.astimezone(tz.tzutc())
    

    结果是 d_utc 是:

    datetime.datetime(2018, 8, 16, 15, 51, 31, tzinfo=tzutc())