Struct dicom_core::value::range::DateTimeRange
source · pub struct DateTimeRange { /* private fields */ }Expand description
Represents a date-time range as two Option<chrono::DateTime<FixedOffset>> values.
None means no upper or no lower bound for range is present.
Example
use chrono::{NaiveDate, NaiveTime, NaiveDateTime, DateTime, FixedOffset, TimeZone};
use dicom_core::value::DateTimeRange;
let offset = FixedOffset::west_opt(3600).unwrap();
let dtr = DateTimeRange::from_start_to_end(
offset.from_local_datetime(&NaiveDateTime::new(
NaiveDate::from_ymd_opt(2000, 5, 6).unwrap(),
NaiveTime::from_hms_opt(15, 0, 0).unwrap()
)).unwrap(),
offset.from_local_datetime(&NaiveDateTime::new(
NaiveDate::from_ymd_opt(2000, 5, 6).unwrap(),
NaiveTime::from_hms_opt(16, 30, 0).unwrap()
)).unwrap()
)?;
assert!(dtr.start().is_some());
assert!(dtr.end().is_some());Implementations§
source§impl DateTimeRange
impl DateTimeRange
sourcepub fn from_start_to_end(
start: DateTime<FixedOffset>,
end: DateTime<FixedOffset>
) -> Result<DateTimeRange, Error>
pub fn from_start_to_end(
start: DateTime<FixedOffset>,
end: DateTime<FixedOffset>
) -> Result<DateTimeRange, Error>
Constructs a new DateTimeRange from two chrono::DateTime values
monotonically ordered in time.
sourcepub fn from_start(start: DateTime<FixedOffset>) -> DateTimeRange
pub fn from_start(start: DateTime<FixedOffset>) -> DateTimeRange
Constructs a new DateTimeRange beginning with a chrono::DateTime value
and no upper limit.
sourcepub fn from_end(end: DateTime<FixedOffset>) -> DateTimeRange
pub fn from_end(end: DateTime<FixedOffset>) -> DateTimeRange
Constructs a new DateTimeRange with no lower limit, ending with a chrono::DateTime value.
sourcepub fn start(&self) -> Option<&DateTime<FixedOffset>>
pub fn start(&self) -> Option<&DateTime<FixedOffset>>
Returns a reference to the lower bound of the range.
sourcepub fn end(&self) -> Option<&DateTime<FixedOffset>>
pub fn end(&self) -> Option<&DateTime<FixedOffset>>
Returns a reference to the upper bound of the range.
sourcepub fn from_date_and_time_range(
dr: DateRange,
tr: TimeRange,
offset: FixedOffset
) -> Result<DateTimeRange, Error>
pub fn from_date_and_time_range(
dr: DateRange,
tr: TimeRange,
offset: FixedOffset
) -> Result<DateTimeRange, Error>
For combined datetime range matching,
this method constructs a DateTimeRange from a DateRange and a TimeRange.
Trait Implementations§
source§impl Clone for DateTimeRange
impl Clone for DateTimeRange
source§fn clone(&self) -> DateTimeRange
fn clone(&self) -> DateTimeRange
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more