12 releases

0.3.3 Oct 9, 2024
0.3.2 Oct 9, 2024
0.3.1 Jul 10, 2020
0.3.0 May 21, 2020
0.0.1 Jul 28, 2015

#380 in Filesystem

Download history 1386/week @ 2024-10-26 1371/week @ 2024-11-02 1473/week @ 2024-11-09 1870/week @ 2024-11-16 1773/week @ 2024-11-23 1223/week @ 2024-11-30 1406/week @ 2024-12-07 1231/week @ 2024-12-14 483/week @ 2024-12-21 384/week @ 2024-12-28 930/week @ 2025-01-04 1126/week @ 2025-01-11 1275/week @ 2025-01-18 1133/week @ 2025-01-25 1140/week @ 2025-02-01 1080/week @ 2025-02-08

4,802 downloads per month
Used in 4 crates (2 directly)

Apache-2.0 OR MIT

12KB
129 lines

utime - Deprecated version

This crate was originally created to provide a missing utime function for Rust, allowing users to set the atime/mtime of a file, as the Rust standard library did not offer a stable method for this functionality.

As of Rust 1.75.0, the standard library now includes File::set_times, which provides a stable and native way to update a file’s last modification and access time.

Recommendation

If you are using Rust 1.75.0 or later, it is recommended to use the native File::set_times function instead of this crate.

use std::fs::{File, FileTimes};
use std::io::Result;
use std::time::SystemTime;

fn main() -> Result<()> {
    let times = FileTimes::new()
        .set_accessed(SystemTime::now())
        .set_modified(SystemTime::UNIX_EPOCH);
    File::create("target/testdummy")?.set_times(times)?;
    Ok(())
}

For Rust <1.75.0 users

For projects using older Rust versions, you may still find this library useful. See documentation for the further details.

[dependencies]
utime = "0.3"
use std::fs::File;
use std::io::Result;
use utime::*;

fn main() -> Result<()> {
    File::create("target/testdummy")?;
    set_file_times("target/testdummy", 1000000, 1000000000)?;

    let (accessed, modified) = get_file_times("target/testdummy")?;
    assert_eq!(accessed, 1000000);
    assert_eq!(modified, 1000000000);
    Ok(())
}

 


utime is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0). See COPYRIGHT for details.

Dependencies

~220KB