///|
pub(all) struct DateValue {
year : Int32
month : Int32
day : Int32
hour : Int32
minute : Int32
second : Int32
} derive(Eq, Debug, ToJson)
///|
pub extend DateValue with Debug::{to_repr}
///|
pub extend DateValue with Eq::{not_equal, equal}
///|
pub extend DateValue with ToJson::{to_json}
///|
pub fn DateValue::new(
year~ : Int32,
month~ : Int32,
day~ : Int32,
hour~ : Int32 = 0,
minute~ : Int32 = 0,
second~ : Int32 = 0,
) -> DateValue {
{ year, month, day, hour, minute, second, }
}
///|
pub fn DateValue::format_date(self : DateValue) -> String {
"\{self.year}-\{self.month}-\{self.day}"
}
///|
pub fn DateValue::format_time(self : DateValue) -> String {
"\{self.hour}:\{self.minute}"
}
///|
pub fn DateValue::format_date_time(self : DateValue) -> String {
"\{self.format_date()} \{self.format_time()}"
}