You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用time-rs crate为当前日期时间增加指定秒数

实现time-rs库时间累加100秒的方案

要在PrimitiveDateTime类型的基础时间上累加100秒返回结果,核心是使用time库内置的时间间隔类型完成运算,不能直接写裸值加单位的自定义语法,具体实现如下:

基础通用写法

不需要额外引入扩展特征,兼容性最好,直接调用Duration的构造方法生成100秒的时间间隔即可:

use time::{PrimitiveDateTime as DateTime, Duration};

pub fn after(start: DateTime) -> DateTime {
    start + Duration::seconds(100)
}

直观语义写法

如果你想要更接近注释里start + 100 seconds的自然书写效果,可以引入time库提供的数值扩展特征,直接在整数后调用单位方法生成时间间隔:

use time::PrimitiveDateTime as DateTime;
use time::ext::NumericalDuration;

pub fn after(start: DateTime) -> DateTime {
    start + 100.seconds()
}

注意事项

  • 不要混用Rust标准库的std::time::Duration,time库的日期时间类型仅和自身导出的Duration实现了加减运算符重载,传入标准库的Duration会直接报编译错误。
  • 累加时间时库会自动处理跨分钟、跨小时、跨天的进位逻辑,比如传入的起始时间是当日23:59:30,加100秒会自动计算为次日00:01:10,不需要手动做时间单位换算。

内容的提问来源于stack exchange,提问作者Saurabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 08:27:20