about summary refs log tree commit diff
path: root/timeparse/src/format.rs
blob: 50fa117a57edcf2b823f4632ef4d4d5a801da9a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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}")
}