Files
pdfcraft/crates/engine/src/clock.rs
T
aiongg e4abf5b5dc refactor(engine): split lib.rs's helpers into doc_state.rs and clock.rs
New modules: clock (local_utc_offset, parse_ymd), doc_state (ImageEdit, merge_data_files, SplitPart, DocId, LOW_RESOLUTION_PRINT_DPI, render_threads, RecoverySnapshot, renderer_password, writable, guard, signatures_of, OptimizeReport).
2026-10-26 22:18:50 +00:00

14 lines
527 B
Rust

/// Seconds to add to UTC for local time (0 where unknown).
pub(crate) fn local_utc_offset() -> i64 {
#[cfg(not(target_arch = "wasm32"))]
return i64::from(chrono::Local::now().offset().local_minus_utc());
#[cfg(target_arch = "wasm32")]
return 0;
}
/// (year, month, day) from a PDF date `D:YYYYMMDD…`.
pub(crate) fn parse_ymd(d: &str) -> Option<(i64, u32, u32)> {
let d = d.strip_prefix("D:").unwrap_or(d);
Some((d.get(0..4)?.parse().ok()?, d.get(4..6)?.parse().ok()?, d.get(6..8)?.parse().ok()?))
}