nt-time 0.4.1

A Windows file time library
Documentation

nt-time

CI Version Docs License

nt-time is a Windows file time library for Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
nt-time = "0.4.1"

Example

use core::time::Duration;

use nt_time::{time::OffsetDateTime, FileTime};

let ft = FileTime::NT_TIME_EPOCH;
assert_eq!(
    OffsetDateTime::try_from(ft).unwrap().to_string(),
    "1601-01-01 0:00:00.0 +00:00:00"
);

let ft = ft + Duration::from_secs(11_644_473_600);
assert_eq!(
    OffsetDateTime::try_from(ft).unwrap(),
    OffsetDateTime::UNIX_EPOCH
);
assert_eq!(ft.as_u64(), 116_444_736_000_000_000);

assert_eq!(FileTime::new(u64::MAX), FileTime::MAX);

Crate features

std

Enables features that depend on the standard library. This is enabled by default.

large-dates

Enables the large-dates feature of the time crate.

chrono

Enables the chrono crate.

serde

Enables the serde crate.

serde-human-readable

Allows Serde representations to use a human-readable format. This implicitly enables the serde feature.

no_std support

This supports no_std mode. Disables the default feature to enable this.

Documentation

See the documentation for more details.

Minimum supported Rust version

The minimum supported Rust version (MSRV) of this library is v1.63.0.

Changelog

Please see CHANGELOG.adoc.

Contributing

Please see CONTRIBUTING.adoc.

License

Copyright © 2023 Shun Sakai (see AUTHORS.adoc)

This library is distributed under the terms of either the Apache License 2.0 or the MIT License.

See COPYRIGHT, LICENSE-APACHE and LICENSE-MIT for more details.