about summary refs log tree commit diff
path: root/timeparse/src/format.rs
diff options
context:
space:
mode:
authorgennyble <gen@nyble.dev>2026-09-20 19:43:42 -0500
committergennyble <gen@nyble.dev>2026-09-20 19:43:42 -0500
commit178ca3c066a1ef920b112da741625099b6dc07da (patch)
tree4fe1e2822975c1a8a2c42967cb0d061a1408fb46 /timeparse/src/format.rs
parentdcadd27bc12e96585cdf96e6c6de087af63c0c6d (diff)
move timeparse to it's own crate
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}")
+}