acme_proxy_core/
datetime.rs1use time::OffsetDateTime;
8use time::format_description::well_known::Rfc3339;
9
10#[must_use]
14pub fn rfc3339(secs: i64) -> String {
15 OffsetDateTime::from_unix_timestamp(secs)
16 .ok()
17 .and_then(|dt| dt.format(&Rfc3339).ok())
18 .unwrap_or_default()
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn epoch_seconds_render_as_utc_rfc3339() {
27 assert_eq!(rfc3339(0), "1970-01-01T00:00:00Z");
28 assert_eq!(rfc3339(1_800_000_000), "2027-01-15T08:00:00Z");
29 }
30
31 #[test]
32 fn an_unrepresentable_instant_renders_empty() {
33 assert_eq!(rfc3339(i64::MAX), "");
34 }
35}