diff options
| author | Jonathan Behrens <fintelia@gmail.com> | 2018-05-19 15:18:07 -0400 |
|---|---|---|
| committer | Jonathan Behrens <fintelia@gmail.com> | 2018-05-19 15:22:09 -0400 |
| commit | 99f5136f9e2df5d60b371e9e19d2f6efe0d2e59e (patch) | |
| tree | efddde42b438b3592e51e6c6b8815eebbca3b84a /src/libcore | |
| parent | 799eda4128ad4517782de261a62d4284268de050 (diff) | |
| download | rust-99f5136f9e2df5d60b371e9e19d2f6efe0d2e59e.tar.gz rust-99f5136f9e2df5d60b371e9e19d2f6efe0d2e59e.zip | |
Add as_micros and as_millis methods
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/time.rs | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/src/libcore/time.rs b/src/libcore/time.rs index f49917f848a..f43d2db51e7 100644 --- a/src/libcore/time.rs +++ b/src/libcore/time.rs @@ -263,18 +263,52 @@ impl Duration { #[inline] pub fn subsec_nanos(&self) -> u32 { self.nanos } + /// Returns the total number of milliseconds contained by this `Duration`. + /// + /// # Examples + /// + /// ``` + /// # #![feature(duration_as_u128)] + /// use std::time::Duration; + /// + /// let duration = Duration::new(5, 730023852); + /// assert_eq!(duration.as_millis(), 5730); + /// ``` + #[unstable(feature = "duration_as_u128", issue = "50202")] + #[inline] + pub fn as_millis(&self) -> u128 { + self.secs as u128 * MILLIS_PER_SEC as u128 + self.nanos as u128 / NANOS_PER_MILLI as u128 + } + + /// Returns the total number of microseconds contained by this `Duration`. + /// + /// # Examples + /// + /// ``` + /// # #![feature(duration_as_u128)] + /// use std::time::Duration; + /// + /// let duration = Duration::new(5, 730023852); + /// assert_eq!(duration.as_micros(), 5730023); + /// ``` + #[unstable(feature = "duration_as_u128", issue = "50202")] + #[inline] + pub fn as_micros(&self) -> u128 { + self.secs as u128 * MICROS_PER_SEC as u128 + self.nanos as u128 / NANOS_PER_MICRO as u128 + } + /// Returns the total number of nanoseconds contained by this `Duration`. /// /// # Examples /// /// ``` - /// # #![feature(duration_nanos)] + /// # #![feature(duration_as_u128)] /// use std::time::Duration; /// /// let duration = Duration::new(5, 730023852); /// assert_eq!(duration.as_nanos(), 5730023852); /// ``` - #[unstable(feature = "duration_nanos", issue = "50202")] + #[unstable(feature = "duration_as_u128", issue = "50202")] #[inline] pub fn as_nanos(&self) -> u128 { self.secs as u128 * NANOS_PER_SEC as u128 + self.nanos as u128 |
