DateTime

Struct DateTime 

Source
pub struct DateTime { /* private fields */ }
Expand description

Date and time representation used across RTC drivers.

This type represents calendar date and time in a general-purpose way, independent of any specific RTC hardware.

  • Validates that year >= 1970
  • Other limits (e.g., 2000-2099) must be enforced by individual drivers

Implementations§

Source§

impl DateTime

Source

pub fn new( year: u16, month: u8, day_of_month: u8, hour: u8, minute: u8, second: u8, ) -> Result<Self, DateTimeError>

Create a new DateTime instance with validation.

§Errors

Returns a DateTimeError if any component is out of valid range.

Source

pub fn validate(&self) -> Result<(), DateTimeError>

Validate all datetime components.

§Errors

Returns the first DateTimeError encountered.

Source

pub fn year(&self) -> u16

Get the year (e.g. 2025).

Source

pub fn month(&self) -> u8

Get the month number (1-12).

Source

pub fn day_of_month(&self) -> u8

Get the day of the month (1-31).

Source

pub fn hour(&self) -> u8

Get the hour (0-23).

Source

pub fn minute(&self) -> u8

Get the minute (0-59).

Source

pub fn second(&self) -> u8

Get the second (0-59).

Source

pub fn set_year(&mut self, year: u16) -> Result<(), DateTimeError>

Set year with validation.

Re-validates the day in case of leap-year or February issues.

Source

pub fn set_month(&mut self, month: u8) -> Result<(), DateTimeError>

Set month with validation.

Re-validates the day in case month/day mismatch occurs.

Source

pub fn set_day_of_month( &mut self, day_of_month: u8, ) -> Result<(), DateTimeError>

Set day with validation.

Source

pub fn set_hour(&mut self, hour: u8) -> Result<(), DateTimeError>

Set hour with validation.

Source

pub fn set_minute(&mut self, minute: u8) -> Result<(), DateTimeError>

Set minute with validation.

Source

pub fn set_second(&mut self, second: u8) -> Result<(), DateTimeError>

Set second with validation.

Source

pub fn calculate_weekday(&self) -> Result<Weekday, DateTimeError>

Calculate weekday for this DateTime

Trait Implementations§

Source§

impl Clone for DateTime

Source§

fn clone(&self) -> DateTime

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DateTime

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DateTime

Source§

fn eq(&self, other: &DateTime) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DateTime

Source§

impl Eq for DateTime

Source§

impl StructuralPartialEq for DateTime

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.