pub struct Time(/* private fields */);
Expand description
A UNIX timestamp, seconds since epoch, guaranteed to always contain a valid time value.
Note that there is no manipulation of the inner value during construction or when using
to_consensus_u32()
. Said another way, Time(x)
means ‘x seconds since epoch’ not ‘(x -
threshold) seconds since epoch’.
Implementations§
source§impl Time
impl Time
sourcepub const fn min_value() -> Self
👎Deprecated since 0.31.0: Use Self::MIN instead
pub const fn min_value() -> Self
The minimum absolute block time.
This is provided for consistency with Rust 1.41.1, newer code should use Time::MIN
.
sourcepub const fn max_value() -> Self
👎Deprecated since 0.31.0: Use Self::MAX instead
pub const fn max_value() -> Self
The maximum absolute block time.
This is provided for consistency with Rust 1.41.1, newer code should use Time::MAX
.
sourcepub fn from_consensus(n: u32) -> Result<Time, Error>
pub fn from_consensus(n: u32) -> Result<Time, Error>
Constructs a new block time.
Errors
If n
does not encode a UNIX time stamp (see documentation on LockTime
).
Examples
use bitcoin::locktime::absolute::Time;
let t: u32 = 1653195600; // May 22nd, 5am UTC.
let time = Time::from_consensus(t).expect("invalid time value");
assert_eq!(time.to_consensus_u32(), t);
sourcepub fn to_consensus_u32(self) -> u32
pub fn to_consensus_u32(self) -> u32
Converts this Time
to its inner u32
value.
Examples
use bitcoin::absolute::LockTime;
let n_lock_time: u32 = 1653195600; // May 22nd, 5am UTC.
let lock_time = LockTime::from_consensus(n_lock_time);
assert_eq!(lock_time.to_consensus_u32(), n_lock_time);
Trait Implementations§
source§impl<'de> Deserialize<'de> for Time
impl<'de> Deserialize<'de> for Time
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl FromHexStr for Time
impl FromHexStr for Time
source§impl Ord for Time
impl Ord for Time
source§impl PartialEq<Time> for Time
impl PartialEq<Time> for Time
source§impl PartialOrd<Time> for Time
impl PartialOrd<Time> for Time
1.0.0 · source§fn 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 moreimpl Copy for Time
impl Eq for Time
impl StructuralEq for Time
impl StructuralPartialEq for Time
Auto Trait Implementations§
impl RefUnwindSafe for Time
impl Send for Time
impl Sync for Time
impl Unpin for Time
impl UnwindSafe for Time
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more