Skip to content

Commit 43baa2c

Browse files
committed
Add as_nanos function to duration
1 parent 8887396 commit 43baa2c

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/libcore/time.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,22 @@ impl Duration {
263263
#[inline]
264264
pub fn subsec_nanos(&self) -> u32 { self.nanos }
265265

266+
/// Returns the total number of nanoseconds contained by this `Duration`.
267+
///
268+
/// # Examples
269+
///
270+
/// ```
271+
/// use std::time::Duration;
272+
///
273+
/// let duration = Duration::new(5, 730023852);
274+
/// assert_eq!(duration.as_nanos(), 5730023852);
275+
/// ```
276+
#[unstable(feature = "duration_nanos", issue = "0")]
277+
#[inline]
278+
pub fn as_nanos(&self) -> u128 {
279+
self.secs as u128 * 1000_000_000 + self.nanos as u128
280+
}
281+
266282
/// Checked `Duration` addition. Computes `self + other`, returning [`None`]
267283
/// if overflow occurred.
268284
///

0 commit comments

Comments
 (0)