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

如何在Rust中将Unix时间戳转换为可读时间字符串?含具体需求及Python示例

在Rust中转换Unix时间戳为可读时间字符串的方法

嘿,这两个问题我刚好能帮你解答!在Rust里处理Unix时间戳转可读时间字符串,最顺手的工具是chrono这个第三方crate——毕竟标准库的时间处理能力比较有限,格式化起来有点麻烦。下面分两部分给你讲清楚:

1. 通用的Unix时间戳转可读字符串方法

首先,你需要在Cargo.toml里添加chrono的依赖:

[dependencies]
chrono = "0.4"

核心步骤分两步:

  • 把Unix时间戳(秒级)转换成chrono库中的DateTime类型(可以选本地时区Local或者UTC时区Utc)
  • 用format方法配合格式化字符串输出你想要的时间格式

给你看个完整的示例代码:

use chrono::{Local, Utc};

fn main() {
    // 替换成你需要转换的Unix时间戳(秒级)
    let target_timestamp = 1234567890;

    // 转换为本地时间并格式化
    let local_datetime = Local.timestamp(target_timestamp, 0);
    let local_formatted = local_datetime.format("%Y-%m-%d %H:%M:%S").to_string();
    println!("本地时间: {}", local_formatted);

    // 转换为UTC时间并格式化
    let utc_datetime = Utc.timestamp(target_timestamp, 0);
    let utc_formatted = utc_datetime.format("%Y-%m-%d %H:%M:%S").to_string();
    println!("UTC时间: {}", utc_formatted);
}

这里要注意timestamp方法的第二个参数是纳秒偏移量:如果你的时间戳是秒级的,传0就行;如果是毫秒级的,需要乘以1_000_000转换成纳秒(比如timestamp(1524820690, 123_000_000)对应毫秒尾缀123的时间戳)。

2. 针对时间戳1524820690的转换示例

把这个时间戳代入上面的代码,运行后你会得到:

  • UTC时间:2018-04-27 10:38:10
  • 本地时间会根据你的系统时区自动调整,比如东八区(UTC+8)的话就是2018-04-27 18:38:10

直接运行的代码片段:

use chrono::{Local, Utc};

fn main() {
    let timestamp = 1524820690;

    let local_time = Local.timestamp(timestamp, 0);
    println!("东八区本地时间: {}", local_time.format("%Y-%m-%d %H:%M:%S"));
    // 输出:2018-04-27 18:38:10

    let utc_time = Utc.timestamp(timestamp, 0);
    println!("UTC时间: {}", utc_time.format("%Y-%m-%d %H:%M:%S"));
    // 输出:2018-04-27 10:38:10
}

补充:不用第三方库的方案(不推荐)

如果不想引入chrono,用标准库的SystemTime也能转,但格式化非常麻烦——因为标准库没有提供直接的日期时间格式化方法,你需要手动解析平台相关的tm结构(不同系统实现还有差异)。示例代码大概是这样:

use std::time::{SystemTime, UNIX_EPOCH};

fn main() {
    let timestamp = 1524820690;
    let system_time = UNIX_EPOCH + std::time::Duration::from_secs(timestamp);

    // 这里需要用平台相关的方法转换为tm结构,比如Linux下用libc,Windows下用winapi,非常繁琐
    // 所以还是推荐用chrono,省心很多
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:17:43