Struct dicom_core::value::partial::DicomTime [−][src]
pub struct DicomTime(_);Expand description
Represents a Dicom Time value with a partial precision, where some time components may be missing.
Unlike Ruts’s chrono::NaiveTime, this implemenation has only 6 digit precision
for fraction of a second.
DicomTime implements AsRange trait, enabling to retrieve specific
chrono::NaiveTime values.
Example
use chrono::NaiveTime;
use dicom_core::value::{DicomTime, AsRange};
let time = DicomTime::from_hm(12, 30)?;
assert_eq!(
time.latest()?,
NaiveTime::from_hms_micro(12, 30, 59, 999_999)
);
let milli = DicomTime::from_hms_milli(12, 30, 59, 123)?;
// value still not precise to microsecond
assert_eq!(milli.is_precise(), false);
assert_eq!(milli.to_string(), "12:30:59.123");
// for convenience, is precise enough to be retrieved as a NaiveTime
assert_eq!(
milli.to_naive_time()?,
NaiveTime::from_hms_micro(12, 30, 59, 123_000)
);
let time = DicomTime::try_from(&NaiveTime::from_hms(12, 30, 59))?;
// conversion from chrono value leads to a precise value
assert_eq!(time.is_precise(), true);
Implementations
Constructs a new DicomTime with hour precision
(HH).
Constructs a new DicomTime with hour and minute precision
(HHMM).
Constructs a new DicomTime with hour, minute and second precision
(HHMMSS).
Constructs a new DicomTime from an hour, minute, second and millisecond value,
which leads to a (HHMMSS.FFF) precision. Millisecond cannot exceed 999.
Constructs a new DicomTime from an hour, minute, second and microsecond value,
which leads to full (HHMMSS.FFFFFF) precision. Microsecond cannot exceed 999_999.
Retrieves a dicom encoded string representation of the value.
Retrieves a chrono::NaiveTime if value is precise.
This method consideres a DicomTime value to be precise, if it contains a second component.
Missing second fraction defaults to zero.
Trait Implementations
Returns the earliest possible chrono value from a partial precision structure.
Missing components default to 1 (days, months) or 0 (hours, minutes, …)
If structure contains invalid combination of DateComponents, it fails. Read more
Returns the latest possible chrono value from a partial precision structure.
If structure contains invalid combination of DateComponents, it fails. Read more
Returns a tuple of the earliest and latest possible value from a partial precision structure.
Returns a corresponding chrono value, if the partial precision structure has full accuracy.
Returns true, if partial precision structure has maximum possible accuracy.
For fraction of a second, full 6 digits are required for the value to be precise. Read more
Auto Trait Implementations
impl RefUnwindSafe for DicomTime
impl UnwindSafe for DicomTime
Blanket Implementations
Mutably borrows from an owned value. Read more