Ames ISU Asked: 2024-07-03 05:46:06 +0800 CST2024-07-03 05:46:06 +0800 CST 2024-07-03 05:46:06 +0800 CST 如何将时区和夏令时信息添加到 google protobuf 时间戳中? 772 我在 python 中使用 google protobuf 时间戳进行记录,但是,当我比较时间戳时,我需要知道与每个时间戳相关的时区和夏令时信息。有什么好方法吗?谢谢! python-3.x 1 个回答 Voted Best Answer DazWilkin 2024-07-03T05:56:49+08:002024-07-03T05:56:49+08:00 时间戳代表“独立于任何时区或日历的时间点”。 许多实现 Protobufs 的语言也提供了一种实现Timestamp(例如 Go 的`timestamppb'),其中包括用于转换为/从语言的日期时间的特定于语言的方法,然后可以将它们用于特定于语言的时间比较等。 最坏的情况(如果您不能使用上面描述的特定于语言的实现),您可以比较Timestamp秒数,然后按顺序比较纳秒值(例如之前|之后)。 文档提供了一个 Python 示例(参见“示例 5”)。 或者: from google.protobuf.timestamp_pb2 import Timestamp import datetime dt = datetime.datetime.utcnow() ts = Timestamp() ts.FromDatetime(dt) print(ts) print(ts.ToDatetime()) print(ts.ToJsonString()) 这两个示例都依赖于使用protobuf
时间戳代表“独立于任何时区或日历的时间点”。
许多实现 Protobufs 的语言也提供了一种实现
Timestamp
(例如 Go 的`timestamppb'),其中包括用于转换为/从语言的日期时间的特定于语言的方法,然后可以将它们用于特定于语言的时间比较等。最坏的情况(如果您不能使用上面描述的特定于语言的实现),您可以比较
Timestamp
秒数,然后按顺序比较纳秒值(例如之前|之后)。文档提供了一个 Python 示例(参见“示例 5”)。
或者:
这两个示例都依赖于使用
protobuf