我目前正在寻找一种解决方案,使用pybind11处理python和C ++之间的分区日期时间转换。在pybind11 / chrono.h中,使用内置的python datetime对象和std库time_point对象支持使用naive datetime进行此类转换;但是,显然没有处理python datetime.datetime对象的相关时区。我想知道在pybind11中是否已经完成了任何工作,以便在考虑时区的情况下更全面地支持这些转换。
答案 0 :(得分:3)
pybind11/chrono.h绑定专门用于提供std::chrono
和python' datetime
之间的转换。由于std::chrono
没有时区支持,因此绑定也不行。换句话说 - 你会把它绑定到 到 ?
一个好的答案可能是Howard Hinnant's date.h and tz.h libraries - 确实是proposed for standardization。但是,这还没有发生。
即使没有标准化,人们也许可以编写这样的绑定并将它们包含在pybind中 - 尽管我不知道有人这样做。如果您有兴趣,最好创建一个与pybind维护者in their issue tracker讨论的问题。
答案 1 :(得分:1)
截至本文发布时,CPython datetime API无法处理分区时间。我发现的最佳选择是包装date并在python中有效地定义一个全新的日期时间库,它可以将分区时间传递给C ++