rust - 特征 `std::ops::Add` 没有为 `chrono::DateTime 实现`
问题描述
extern crate chrono;
use chrono::{DateTime, Utc};
use std::time::Duration;
pub fn after(start: DateTime<Utc>) -> DateTime<Utc> {
start + Duration::from_secs(1)
}
失败:
error[E0277]: cannot add `std::time::Duration` to `chrono::DateTime<chrono::Utc>`
--> src/lib.rs:7:11
|
7 | start + Duration::from_secs(1_000_000_000)
| ^ no implementation for `chrono::DateTime<chrono::Utc> + std::time::Duration`
|
= help: the trait `std::ops::Add<std::time::Duration>` is not implemented for `chrono::DateTime<chrono::Utc>`
我找不到Add
要导入的实现。use chrono::*
不会有帮助的。
我看到它datetime.rs
有一个 impl Add<chrono::oldtime::Duration>
,但是oldtime
是私有的,所以我不知道如何创建一个oldtime::Duration
.
我如何获得Add
我需要的 impl?我如何转换std::time::Duration
为chrono::oldtime::Duration
? 有什么我可以导入来隐式转换的吗?
我正在使用rustc 1.25.0 (84203cac6 2018-03-25)
解决方案
推荐阅读
- python - 遍历两个列表的列表理解没有按预期工作
- python - 将文件压缩到内存并以字节 python 读取整个存档
- git - Git:仅在当前目录中忽略文件名
- google-cloud-platform - BigQuery 是否适合小型数据集?
- tfs - 在 Visual Studio 中退出 TFS 而不会导致问题
- gcc - 获取链接器映射文件中的变量地址
- python - 检查输入时出错:预期 conv2d_1_input 的形状为 (64, 64, 3) 但得到的数组的形状为 (64, 64, 4)
- c - 如何捕捉文件模式?
- c++ - MSVC 需要带有矢量和映射的显式默认移动构造函数
- authentication - 使用没有数据库的 JSON 响应进行身份验证