sorting-parquet-writer 0.2.1

A Rust library for writing sorted Parquet files using Apache Arrow.
Documentation
use chrono::{DateTime, Local, NaiveDate, TimeZone as _, Utc};
use rand::RngExt;

pub fn random_time_between(start: DateTime<Utc>, end: DateTime<Utc>) -> DateTime<Utc> {
    let duration = end.signed_duration_since(start);
    let mut rng = rand::rng();
    let random_duration = rng.random_range(0..duration.num_seconds());
    start + chrono::Duration::seconds(random_duration)
}

pub fn random_date() -> NaiveDate {
    let start = Utc.with_ymd_and_hms(2021, 1, 1, 0, 0, 0).unwrap();
    let end = Local::now().with_timezone(&Utc);
    random_time_between(start, end).date_naive()
}
#[cfg(test)]
mod tests {
    use super::*;
    use chrono::Duration;
    #[test]
    fn test_random_time_between() {
        let start = Utc::now();
        let end = start + Duration::hours(1);
        let random_time = random_time_between(start, end);
        println!("Random time: {}", random_time);
        assert!(random_time >= start && random_time <= end);
    }
}