rust时间处理chrono库学习

本文详细介绍了Rust编程中chrono库的使用,包括获取UTC和本地时区时间,固定时区操作,时间戳转换,时间格式化与解析,以及时间的运算和比较。通过实例展示了如何获取当前时间、格式化输出以及进行时间操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

chrono的文档有点简单,自己写一下。

获取时间

utc时间: 0时区时间

Local:系统本地时区

根据系统设置的时区来判断,可以查看/etc/timezone来获取当前系统配置的时区在这里插入图片描述

FixedOffset:固定时区始终,比如UTC+9:00或者UTC-10:30

PS:不同TimeZone类型的DateTime是不同的,不会混合,但可以使用DateTime::with_timezone 方法来混用。

通过Utc::now()或者Local::now()来获取当前时间

use chrono::prelude::*;
fn main() {
   
    let now = Local::now();
    // 获取UTC时间
    // let now = Utc::now();
    println!("{}", now);
}

输出为: 2024-02-18 15:06:17.853514925 +08:00

对当前时间简单格式化

use chrono::prelude::*;
fn main() {
   
    let now = Local::now().format("%Y年 %m月 %d日 %H:%M:%S").to_string();
    println!("{}", now);
}

输出为:2024年 02月 18日 15:09:37

单独获取年月日时分秒

use chrono::prelude::*;
fn main() {
   
    let now = Local::now();
    println!("times:
    now:\t{}
    year:\t{} 
    month:\t{}
    day:\t{}
    hour:\t{}
    minute:\t{}
    second: \t{}", now, now.year(),now.month(),now.day(), now.hour(), now.minute(), now.second());
}

输出
在这里插入图片描述

格式化和解析rfc2822和rfc3339时间

时钟占位符

Spec. Example Description
DATE SPECIFIERS:
%Y 2001 The full proleptic Gregorian year, zero-padded to 4 digits. chrono supports years from -262144 to 262143. Note: y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值