[Refactor] Move local time’s seconds since midnight calculation to the clock module
This commit is contained in:
parent
1d485c824b
commit
b6d6e71be2
16
src/clock.rs
16
src/clock.rs
@ -1,4 +1,8 @@
|
||||
use chrono::prelude::Local;
|
||||
use chrono::{prelude::Local, Timelike};
|
||||
|
||||
pub enum DayPart {
|
||||
LocalNow,
|
||||
}
|
||||
|
||||
pub fn get_moon_phase() -> f32 {
|
||||
let local_timestamp = Local::now();
|
||||
@ -7,3 +11,13 @@ pub fn get_moon_phase() -> f32 {
|
||||
|
||||
moon_illumination.phase as f32 * 28.0
|
||||
}
|
||||
|
||||
pub fn get_seconds_since_midnight(which: DayPart) -> i32 {
|
||||
let local_timestamp = Local::now();
|
||||
|
||||
let seconds = match which {
|
||||
DayPart::LocalNow => local_timestamp.time().num_seconds_from_midnight(),
|
||||
};
|
||||
|
||||
seconds as i32
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ use svg::{
|
||||
};
|
||||
use usvg::Tree;
|
||||
|
||||
use crate::clock::get_moon_phase;
|
||||
use crate::clock::{get_moon_phase, get_seconds_since_midnight, DayPart};
|
||||
use crate::config::Config;
|
||||
|
||||
const HOUR_NAMES: [&str; 24] = [
|
||||
@ -349,7 +349,7 @@ pub fn gen_svg(
|
||||
let unixtime = suncalc::Timestamp(local_timestamp.timestamp_millis());
|
||||
|
||||
let utc_offset = local_timestamp.offset().local_minus_utc();
|
||||
let local_time = local_timestamp.time().num_seconds_from_midnight() as i32;
|
||||
let local_time = get_seconds_since_midnight(DayPart::LocalNow);
|
||||
let utc_rotation = seconds_to_degrees(utc_offset);
|
||||
let moon_radius = IMAGE_WIDTH as f32 * 0.071428571;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user