Compare commits
2 commits
dd62aaad99
...
1d8eb97e2a
Author | SHA1 | Date | |
---|---|---|---|
|
1d8eb97e2a | ||
|
0ec1a74a11 |
1 changed files with 10 additions and 22 deletions
32
src/main.rs
32
src/main.rs
|
@ -5,29 +5,21 @@ use std::{env, io};
|
||||||
fn main() -> io::Result<()> {
|
fn main() -> io::Result<()> {
|
||||||
let args: Vec<String> = env::args().collect();
|
let args: Vec<String> = env::args().collect();
|
||||||
|
|
||||||
// TODO: change expected length to rfc3339
|
if args.len() == 1
|
||||||
// if args.len() == 1 || args[1].len() != 8 as usize {
|
|| !(args[1].len() == 8 as usize
|
||||||
// println!("usage: since hh:mm:ss");
|
|| args[1].len() == 19 as usize
|
||||||
// std::process::abort();
|
|| 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 <RFC 3339 timestamp>"); //21
|
||||||
|
std::process::abort();
|
||||||
|
}
|
||||||
|
|
||||||
let buffer = &args[1];
|
let buffer = &args[1];
|
||||||
|
|
||||||
//println!("{buffer}");
|
|
||||||
|
|
||||||
let tz = *Local::now().offset();
|
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<Local>;
|
let timestamp: DateTime<Local>;
|
||||||
if let Some(t) = buffer.parse::<DateTime<Local>>().ok() {
|
if let Some(t) = buffer.parse::<DateTime<Local>>().ok() {
|
||||||
timestamp = t;
|
timestamp = t;
|
||||||
|
@ -44,12 +36,8 @@ fn main() -> io::Result<()> {
|
||||||
std::process::abort();
|
std::process::abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: is local appropriate here?
|
|
||||||
let now = Local::now();
|
let now = Local::now();
|
||||||
|
|
||||||
// println!("{}", timestamp.to_rfc3339());
|
|
||||||
// println!("{}", now.to_rfc3339());
|
|
||||||
|
|
||||||
let delta = DateTime::signed_duration_since(now, timestamp);
|
let delta = DateTime::signed_duration_since(now, timestamp);
|
||||||
|
|
||||||
let days = ((delta.num_seconds() / 60) / 60) / 24;
|
let days = ((delta.num_seconds() / 60) / 60) / 24;
|
||||||
|
|
Loading…
Reference in a new issue