FileTime

Struct FileTime 

Source
pub struct FileTime { /* private fields */ }
Expand description

FILETIME type

Used by Microsoft software to describe file creation/access timestamps In contrary to unix, the FILETIME-Epoch is: 1601-01-01T00:00:00.000000000Z

Allows conversion between:

  • Raw i64 value
  • DateTime UTC

Implementations§

Source§

impl FileTime

Source

pub fn new(secs: i64, nsecs: i64) -> Self

Construct new FileTime by providing seconds and nanoseconds since 1601-01-01T00:00:00.000000000Z

Source

pub fn now() -> Self

Creates a new timestamp representing the current system time

Source

pub fn seconds(&self) -> i64

Seconds since FILETIME-Epoch

Source

pub fn nanoseconds(&self) -> i64

Leap Nanoseconds since FILETIME-Epoch

Source

pub fn filetime(&self) -> i64

Return FILETIME as i64

use filetime_type::FileTime;

let ft_i64 = FileTime::now().filetime();
Source

pub fn filetime_epoch() -> DateTime<Utc>

Return FILETIME epoch as DateTime -> 1601-01-01-00:00:00.000Z

Source

pub fn from_i64(filetime: i64) -> Self

Example

use filetime_type::FileTime;

// 2009-07-25T23:00:00.000001000Z
let ft = FileTime::from_i64(128930364000001000);
Source

pub fn from_datetime(dt: DateTime<Utc>) -> Self

Example

use chrono::Utc;
use filetime_type::FileTime;

let ft = FileTime::from_datetime(Utc::now());
Source

pub fn to_datetime(&self) -> DateTime<Utc>

Example

use chrono::{DateTime, Utc};
use filetime_type::FileTime;

let ft_now: DateTime<Utc> = FileTime::now().to_datetime();

Trait Implementations§

Source§

impl Clone for FileTime

Source§

fn clone(&self) -> FileTime

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FileTime

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for FileTime

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<[u8; 8]> for FileTime

Source§

fn from(val: [u8; 8]) -> Self

Converts to this type from the input type.
Source§

impl From<DateTime<Utc>> for FileTime

Source§

fn from(dt: DateTime<Utc>) -> Self

Converts to this type from the input type.
Source§

impl From<FileTime> for [u8; 8]

Source§

fn from(ft: FileTime) -> Self

Converts to this type from the input type.
Source§

impl From<FileTime> for DateTime<Utc>

Source§

fn from(ft: FileTime) -> Self

Converts to this type from the input type.
Source§

impl From<FileTime> for i64

Source§

fn from(ft: FileTime) -> Self

Converts to this type from the input type.
Source§

impl From<i64> for FileTime

Source§

fn from(val: i64) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for FileTime

Source§

fn eq(&self, other: &FileTime) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for FileTime

Source§

impl Eq for FileTime

Source§

impl StructuralPartialEq for FileTime

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.