使用Python Boto3 AWS Lambda,S3 Key LastModified以两种不同的方式返回两种类型

问题描述 投票:0回答:1

给定键的LastModified以两种不同的格式返回。

如果我存储在变量中或直接打印,它会给我这种格式:

2019-04-17 11:14:11+00:00

如果我尝试将其存储为dict中的值,然后将其打印出来,则会以以下格式显示:

{'redshift_data_source/grid/load.csv': datetime.datetime(2019, 4, 17, 11, 14, 11, tzinfo=tzlocal())}

为什么格式有这么大差异?

其次,我的目的是将Last Modified存储在一个文件中,并检查文件的Last Modified的每一天是否已更改。如果不上传.zip额外的库,我该怎么办呢?

我想要这样的东西(其中一个应该来自我存储元数据的文件,而b应该是最新文件的元数据读取:

a = datetime.datetime(2019, 4, 17, 11, 14, 11, tzinfo=tzlocal()) # yesterday
b = datetime.datetime(2019, 4, 18, 05, 53, 19, tzinfo=tzlocal()) # today

print(a < b) # True
python-3.x datetime amazon-s3 aws-lambda boto3
1个回答
0
投票

使用我从元数据中获取的值的字符串化解决了它:

str(datetime.datetime(2019, 4, 17, 11, 14, 11, tzinfo=tzlocal()))

上面这句话给了我:

2019-04-17 11:14:11+00:00

然后,为了进行比较,我不得不删除最后一部分,因为它不符合任何标准日期格式,所以我做了:

old = datetime.datetime.strptime(tables_dict[objects["Contents"][0]["Key"]][:19], '%Y-%m-%d %H:%M:%S')

然后进行比较以继续逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.