aboutsummaryrefslogtreecommitdiff
path: root/apps/koffice/libko/src/cass/date.rs
diff options
context:
space:
mode:
authorKaiden Fey <kookie@spacekookie.de>2021-02-21 14:56:11 +0100
committerKaiden Fey <kookie@spacekookie.de>2021-02-21 14:56:11 +0100
commitf186a7345dfc99347673f46e0daff0cb63ac8492 (patch)
tree5179ffd4654b80ea11a1656e28ef244439648ba4 /apps/koffice/libko/src/cass/date.rs
parenteffbdeed66e8de8e769b8ac069926ad1a9110e62 (diff)
k-office: initial code dumpk-office/init
Diffstat (limited to 'apps/koffice/libko/src/cass/date.rs')
-rw-r--r--apps/koffice/libko/src/cass/date.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/apps/koffice/libko/src/cass/date.rs b/apps/koffice/libko/src/cass/date.rs
new file mode 100644
index 000000000000..e35b2a96f0f0
--- /dev/null
+++ b/apps/koffice/libko/src/cass/date.rs
@@ -0,0 +1,32 @@
+use crate::cass::Time;
+use chrono::{FixedOffset as Offset, NaiveDate};
+
+/// A convenienc wrapper around [chrono::NaiveDate](chrono::NaiveDate)
+#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
+pub struct Date {
+ inner: NaiveDate,
+}
+
+impl Date {
+ pub fn today() -> Self {
+ Self::from(Time::now().date())
+ }
+
+ pub(crate) fn from(d: chrono::Date<Offset>) -> Self {
+ Self {
+ inner: d.naive_local(),
+ }
+ }
+}
+
+impl From<NaiveDate> for Date {
+ fn from(inner: NaiveDate) -> Self {
+ Self { inner }
+ }
+}
+
+impl ToString for Date {
+ fn to_string(&self) -> String {
+ format!("{}", self.inner.format("%Y-%m-%d"))
+ }
+}