pub fn zip_date_to_chrono(date: u16, time: u16) -> DateTime<Utc> {
    let years = (((date & 0xFE00) >> 9) + 1980).into();
    let months = ((date & 0x1E0) >> 5).into();
    let days = (date & 0x1F).into();

    let hours = ((time & 0x1F) >> 11).into();
    let mins = ((time & 0x7E0) >> 5).into();
    let secs = ((time & 0x1F) << 1).into();

    Utc.ymd(years, months, days).and_hms(hours, mins, secs)
}
// Converts a date and time stored within ZIP headers into a `chrono` structure.
Converts a date and time stored within ZIP headers into a `chrono` structure.
Converts a date and time stored within ZIP headers into a ` chrono ` structure .
pub fn zip_date_to_chrono(date: u16, time: u16) -> DateTime<Utc> {
    let years = (((date & 0xFE00) >> 9) + 1980).into();
    let months = ((date & 0x1E0) >> 5).into();
    let days = (date & 0x1F).into();
    let hours = ((time & 0x1F) >> 11).into();
    let mins = ((time & 0x7E0) >> 5).into();
    let secs = ((time & 0x1F) << 1).into();
    Utc.ymd(years, months, days).and_hms(hours, mins, secs)
}
pub fn zip_date_to_chrono ( date : u16 , time : u16 ) -> DateTime < Utc > { let years = ( ( ( date & 0xFE00 ) >> 9 ) + 1980 ) . into ( ) ; let months = ( ( date & 0x1E0 ) >> 5 ) . into ( ) ; let days = ( date & 0x1F ) . into ( ) ; let hours = ( ( time & 0x1F ) >> 11 ) . into ( ) ; let mins = ( ( time & 0x7E0 ) >> 5 ) . into ( ) ; let secs = ( ( time & 0x1F ) << 1 ) . into ( ) ; Utc . ymd ( years , months , days ) . and_hms ( hours , mins , secs ) }
Converts a date and time stored within ZIP headers into a `chrono` structure.
Converts a date and time stored within ZIP headers into a ` chrono ` structure .
date
u16
time
u16
date
u16
time
u16