pub struct FileTime { /* private fields */ }
Expand description
A helper structure to represent a timestamp for a file.
The actual value contined within is platform-specific and does not have the same meaning across platforms, but comparisons and stringification can be significant among the same platform.
Implementations
sourceimpl FileTime
impl FileTime
sourcepub fn zero() -> FileTime
pub fn zero() -> FileTime
Creates a new timestamp representing a 0 time.
Useful for creating the base of a cmp::max chain of times.
sourcepub fn now() -> FileTime
pub fn now() -> FileTime
Creates a new timestamp representing the current system time.
filetime::set_file_mtime(path, FileTime::now())?;
Equivalent to FileTime::from_system_time(SystemTime::now())
.
sourcepub fn from_unix_time(seconds: i64, nanos: u32) -> FileTime
pub fn from_unix_time(seconds: i64, nanos: u32) -> FileTime
Creates a new instance of FileTime
with a number of seconds and
nanoseconds relative to the Unix epoch, 1970-01-01T00:00:00Z.
Negative seconds represent times before the Unix epoch, and positive values represent times after it. Nanos always count forwards in time.
Note that this is typically the relative point that Unix time stamps are
from, but on Windows the native time stamp is relative to January 1,
1601 so the return value of seconds
from the returned FileTime
instance may not be the same as that passed in.
sourcepub fn from_last_modification_time(meta: &Metadata) -> FileTime
pub fn from_last_modification_time(meta: &Metadata) -> FileTime
Creates a new timestamp from the last modification time listed in the specified metadata.
The returned value corresponds to the mtime
field of stat
on Unix
platforms and the ftLastWriteTime
field on Windows platforms.
sourcepub fn from_last_access_time(meta: &Metadata) -> FileTime
pub fn from_last_access_time(meta: &Metadata) -> FileTime
Creates a new timestamp from the last access time listed in the specified metadata.
The returned value corresponds to the atime
field of stat
on Unix
platforms and the ftLastAccessTime
field on Windows platforms.
sourcepub fn from_creation_time(meta: &Metadata) -> Option<FileTime>
pub fn from_creation_time(meta: &Metadata) -> Option<FileTime>
Creates a new timestamp from the creation time listed in the specified metadata.
The returned value corresponds to the birthtime
field of stat
on
Unix platforms and the ftCreationTime
field on Windows platforms. Note
that not all Unix platforms have this field available and may return
None
in some circumstances.
sourcepub fn from_system_time(time: SystemTime) -> FileTime
pub fn from_system_time(time: SystemTime) -> FileTime
Creates a new timestamp from the given SystemTime.
Windows counts file times since 1601-01-01T00:00:00Z, and cannot represent times before this, but it’s possible to create a SystemTime that does. This function will error if passed such a SystemTime.
sourcepub fn seconds(&self) -> i64
pub fn seconds(&self) -> i64
Returns the whole number of seconds represented by this timestamp.
Note that this value’s meaning is platform specific. On Unix platform time stamps are typically relative to January 1, 1970, but on Windows platforms time stamps are relative to January 1, 1601.
sourcepub fn unix_seconds(&self) -> i64
pub fn unix_seconds(&self) -> i64
Returns the whole number of seconds represented by this timestamp, relative to the Unix epoch start of January 1, 1970.
Note that this does not return the same value as seconds
for Windows
platforms as seconds are relative to a different date there.
sourcepub fn nanoseconds(&self) -> u32
pub fn nanoseconds(&self) -> u32
Returns the nanosecond precision of this timestamp.
The returned value is always less than one billion and represents a
portion of a second forward from the seconds returned by the seconds
method.
Trait Implementations
sourceimpl From<SystemTime> for FileTime
impl From<SystemTime> for FileTime
sourcefn from(time: SystemTime) -> FileTime
fn from(time: SystemTime) -> FileTime
Performs the conversion.
sourceimpl Ord for FileTime
impl Ord for FileTime
sourceimpl PartialOrd<FileTime> for FileTime
impl PartialOrd<FileTime> for FileTime
sourcefn partial_cmp(&self, other: &FileTime) -> Option<Ordering>
fn partial_cmp(&self, other: &FileTime) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for FileTime
impl Eq for FileTime
impl StructuralEq for FileTime
impl StructuralPartialEq for FileTime
Auto Trait Implementations
impl RefUnwindSafe for FileTime
impl Send for FileTime
impl Sync for FileTime
impl Unpin for FileTime
impl UnwindSafe for FileTime
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more