secs_to_datetime

Function secs_to_datetime 

Source
pub const fn secs_to_datetime(secs: i64) -> (i32, u8, u8, u8, u8, u8)
Expand description

Convert total seconds to year, month, day, hours, minutes and seconds

Given seconds counting from Unix epoch (January 1st, 1970) returns a (year, month, day, hours, minutes, seconds) tuple.

§Panics

Argument must be between RD_SECONDS_MIN and RD_SECONDS_MAX inclusive. Bounds are checked using debug_assert only, so that the checks are not present in release builds, similar to integer overflow checks.

§Examples

use datealgo::secs_to_datetime;

assert_eq!(secs_to_datetime(0), (1970, 1, 1, 0, 0, 0));
assert_eq!(secs_to_datetime(86400), (1970, 1, 2, 0, 0, 0));
assert_eq!(secs_to_datetime(86399), (1970, 1, 1, 23, 59, 59));
assert_eq!(secs_to_datetime(-1), (1969, 12, 31, 23, 59, 59));
assert_eq!(secs_to_datetime(1684574678), (2023, 5, 20, 9, 24, 38));

§Algorithm

Combination of existing functions for convenience only.