about summary refs log tree commit diff
path: root/timeparse/src/format.rs
diff options
context:
space:
mode:
Diffstat (limited to 'timeparse/src/format.rs')
-rw-r--r--timeparse/src/format.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/timeparse/src/format.rs b/timeparse/src/format.rs
new file mode 100644
index 0000000..50fa117
--- /dev/null
+++ b/timeparse/src/format.rs
@@ -0,0 +1,25 @@
+use time::{Date, OffsetDateTime, format_description::well_known};
+
+use crate::MONTHS;
+
+pub fn human_long(datetime: &OffsetDateTime) -> String {
+	let year = datetime.year();
+	let month = MONTHS[datetime.month() as usize - 1][1];
+	let day = datetime.day();
+	let weekday = datetime.weekday();
+
+	format!("{weekday} {day}, {month} {year}")
+}
+
+pub fn iso8601(datetime: &OffsetDateTime) -> String {
+	datetime
+		.format(&well_known::Iso8601::DATE_TIME_OFFSET)
+		.unwrap()
+}
+
+pub fn iso_date(date: &Date) -> String {
+	let year = date.year();
+	let month = date.month();
+	let day = date.day();
+	format!("{year}-{month:02}-{day:02}")
+}