我使用的是crate时间,我想创建一个以now为参考的UTC日期时间(就像“take machine time”)。我可以用OffsetDateTime和now_utc()构造函数来实现。但是我想要一个原始的datetime,因为我使用sqlx,数据库类型是TIMESTAMP。(postgres)。
并且PrimitiveDateTime不使用机器时间实现构造函数。
所以我尝试将我的OffsetDateTime转换为PrimitiveDateTime,但我没有找到方法。并且from / into trait没有在这两个类型之间实现,而且OffsetDateTime也没有方法返回PrimitiveDateTime和偏移量。我看到的唯一方法是获取日历日期和时间,并在另一边重建PrimitiveDateTime。
这个解决方案确实不理想。所以我才来这里
我想做
let now = PrimitiveDateTime::now()
或
let now: PrimitiveDatetime = OffsetDateTime::now_utc().as_primitive_utc()
或
let (datetime, _offset) = my_offset_datetime.to_primitive()
1条答案
按热度按时间zzwlnbp81#
我相信这样做的方法是这样的:
也就是说,已经有一个通过sqlx将
OffsetDateTime
与PostgreSQL一起使用的实现。