diff --git a/src/main.rs b/src/main.rs index 7ffee6d..e4265e1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,29 +5,21 @@ use std::{env, io}; fn main() -> io::Result<()> { let args: Vec = env::args().collect(); - // TODO: change expected length to rfc3339 - // if args.len() == 1 || args[1].len() != 8 as usize { - // println!("usage: since hh:mm:ss"); - // std::process::abort(); - // } + if args.len() == 1 + || !(args[1].len() == 8 as usize + || args[1].len() == 19 as usize + || args[1].len() == 21 as usize) + { + println!("usage: since hh:mm:ss"); //8 + println!("usage: since yyyy-mm-dd hh:mm:ss"); //19 + println!("usage: since "); //21 + std::process::abort(); + } let buffer = &args[1]; - //println!("{buffer}"); - let tz = *Local::now().offset(); - // println!( - // "{}", - // NaiveDateTime::new( - // Local::now().date_naive(), - // NaiveTime::parse_from_str("12:00:00", "%H:%M:%S").unwrap() - // ) - // .and_local_timezone(tz) - // .single() - // .unwrap() - // ); - let timestamp: DateTime; if let Some(t) = buffer.parse::>().ok() { timestamp = t; @@ -44,12 +36,8 @@ fn main() -> io::Result<()> { std::process::abort(); } - // NOTE: is local appropriate here? let now = Local::now(); - // println!("{}", timestamp.to_rfc3339()); - // println!("{}", now.to_rfc3339()); - let delta = DateTime::signed_duration_since(now, timestamp); let days = ((delta.num_seconds() / 60) / 60) / 24;