#格式化 #实例 # #API

程序+库 time_duration_api

此crate为Rust提供了时间/持续时间API

7个版本

0.1.6 2024年5月25日
0.1.5 2024年4月14日
0.1.4 2024年2月29日

157 in 日期和时间

MIT 许可证

18KB
219

时间持续时间API

时间持续时间库提供了在Rust中处理时间和持续时间的功能。它提供了管理特定时间点、持续时间以及各种格式化选项和算术操作的功能。

特性

  • 时间处理:使用Time结构体表示特定的时间点。
  • 持续时间管理:使用CustomDuration结构体管理时间的持续时间。
  • 时间格式化:使用自定义格式将时间实例格式化为字符串。
  • 时区支持:无缝地在不同的时区之间转换时间。
  • 算术运算:轻松地对持续时间进行加、减、乘、除

安装

Cargo.toml文件下的[dependencies]部分添加以下行

time_duration_api = "0.1.6"

用法

use time_duration::{CustomDuration, Time};

fn main() {
    // Creating a new Time instance representing the current time
    let current_time = Time::now();

    // Formatting the current time in UTC
    println!("Current UTC time: {}", current_time.format("%Y-%m-%d %H:%M:%S"));

    // Formatting the current time in a specific timezone
    match current_time.format_with_timezone("%Y-%m-%d %H:%M:%S", "+05:30") {
        Ok(time_str) => println!("Current time in +05:30 timezone: {}", time_str),
        Err(err) => println!("Error formatting time: {}", err),
    }

    // Getting the current timestamp as UNIX timestamp
    match current_time.timestamp() {
        Ok(timestamp) => println!("Current timestamp: {}", timestamp),
        Err(err) => println!("Error getting timestamp: {}", err),
    }

    // Creating a custom duration of 2 hours
    let duration = CustomDuration::from_secs(2 * 3600);

    // Adding the custom duration to the current time
    let future_time = current_time.add_duration(&duration);
    println!("Time after 2 hours: {}", future_time.format("%Y-%m-%d %H:%M:%S"));

    // Subtracting the custom duration from the current time
    let past_time = current_time.sub_duration(&duration);
    println!("Time 2 hours ago: {}", past_time.format("%Y-%m-%d %H:%M:%S"));

    // Using the multiplication operation for durations
    let multiplied_duration = duration.mul(3);
    println!("Duration multiplied by 3: {} seconds", multiplied_duration.as_secs());

    // Using the division operation for durations
    let divided_duration = duration.div(2);
    println!("Duration divided by 2: {} seconds", divided_duration.as_secs());
}

示例

  • 格式化时间:将时间实例格式化为自定义字符串。
  • 时间算术:从时间实例中添加或减去持续时间。
  • 时区转换:在不同的时区之间转换时间。

链接

依赖项

~1MB
~19K SLoC