nt-time 0.2.0

A Windows NT system time library
Documentation

nt-time

CI Version Docs License

nt-time is a Windows NT system time library for Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
nt-time = "0.2.0"

Example

use core::time::Duration;

use nt_time::FileTime;
use time::OffsetDateTime;

let ft = FileTime::NT_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.

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.