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 moresource§impl Debug for DateTimeRange
impl Debug for DateTimeRange
source§impl Hash for DateTimeRange
impl Hash for DateTimeRange
source§impl PartialEq<DateTimeRange> for DateTimeRange
impl PartialEq<DateTimeRange> for DateTimeRange
source§fn eq(&self, other: &DateTimeRange) -> bool
fn eq(&self, other: &DateTimeRange) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Copy for DateTimeRange
impl Eq for DateTimeRange
impl StructuralEq for DateTimeRange
impl StructuralPartialEq for DateTimeRange
Auto Trait Implementations§
impl RefUnwindSafe for DateTimeRange
impl Send for DateTimeRange
impl Sync for DateTimeRange
impl Unpin for DateTimeRange
impl UnwindSafe for DateTimeRange
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