跳至内容

关于GMT和CST在aws中的设置

0

我的CentOS7.6本机时间是CST时间,我在本机使用aws cli工具时,输出的日志里记录的是CST时间。
而我用C++编写的调用sdk的程序,输出的日志里记录的却是GMT时间,
为什么会这样?我想统一成本机的CST时间,因为这是我的当地时间

我用sdk是AWS SDK for C++ with Version:1.11.577
cli版本是CLI version: aws-cli/1.23.2 Python/2.7.5 Linux/3.10.0-957.21.3.el7.x86_64 botocore/1.23.46

已提问 1 年前270 查看次数

1 回答
0

AWS CLI 和 AWS SDK for C++ 在处理时间显示上存在差异是因为它们使用不同的默认时区设置。

AWS CLI 默认会使用您系统的本地时区设置(在您的情况下是 CST),这就是为什么 CLI 输出的日志显示为 CST 时间。

而 AWS SDK for C++ 默认使用 GMT/UTC 时间,这是 AWS 服务内部使用的标准时间格式。SDK 通常会以 GMT 时间返回结果,除非特别配置。

要在您的 C++ 程序中使用 CST 时间,您有几种选择:

  1. 在您的代码中手动转换时间:接收 GMT 时间后,将其转换为 CST 时间再显示
  2. 设置环境变量:某些情况下,设置 TZ 环境变量可能会影响 SDK 的时间显示
  3. 使用 C++ 的本地化功能:利用 C++ 标准库中的日期时间处理函数将 GMT 时间转换为本地时间

请注意,虽然显示可以使用本地时间,但 AWS 服务内部通信和存储通常仍然使用 UTC 时间,这是为了确保全球一致性和避免夏令时等问题。
Sources
The AWS Lambda program sometimes fails to trigger, while other times it works correctly. | AWS re:Post
awscrt 설치가 실패합니다. | AWS re:Post

已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。