tp_lib_core/
temporal.rs

1//! Temporal utilities for timezone handling
2
3use crate::errors::ProjectionError;
4use chrono::{DateTime, FixedOffset};
5
6/// Parse RFC3339 timestamp with timezone validation
7pub fn parse_rfc3339_with_timezone(s: &str) -> Result<DateTime<FixedOffset>, ProjectionError> {
8    DateTime::parse_from_rfc3339(s)
9        .map_err(|e| ProjectionError::MissingTimezone(format!("Invalid timestamp: {}", e)))
10}
11
12/// Validate that timezone information is present
13pub fn validate_timezone_present(_dt: &DateTime<FixedOffset>) -> Result<(), ProjectionError> {
14    // DateTime<FixedOffset> always has timezone, this is a type-level guarantee
15    // This function exists for API consistency
16    Ok(())
17}