fix is leap year
This commit is contained in:
@@ -4,7 +4,7 @@ fn get_year_and_left_secs(secs_from_1970: u64) -> (u32, u64) {
|
|||||||
let mut t = secs_from_1970;
|
let mut t = secs_from_1970;
|
||||||
let mut y = 1970;
|
let mut y = 1970;
|
||||||
loop {
|
loop {
|
||||||
let is_leap_year = y % 4 == 0 && y % 100 != 0;
|
let is_leap_year = (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0);
|
||||||
let secs_per_year = if is_leap_year { 366 } else { 365 } * 24 * 60 * 60;
|
let secs_per_year = if is_leap_year { 366 } else { 365 } * 24 * 60 * 60;
|
||||||
if t > secs_per_year {
|
if t > secs_per_year {
|
||||||
y += 1;
|
y += 1;
|
||||||
@@ -23,4 +23,4 @@ fn main() {
|
|||||||
println!("Secs from 1970: {}", secs_from_1970);
|
println!("Secs from 1970: {}", secs_from_1970);
|
||||||
println!("Year (GMT) : {}", year_gmt);
|
println!("Year (GMT) : {}", year_gmt);
|
||||||
println!("Year (GMT+8) : {}", year_gmt8);
|
println!("Year (GMT+8) : {}", year_gmt8);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user