dit: when first arg is dit display unix timestamp

This commit is contained in:
Miraty 2024-03-15 11:54:20 +01:00
parent 1e8c065b75
commit d3ec9ef5a0
1 changed files with 28 additions and 14 deletions

View File

@ -1,24 +1,26 @@
use libdit::libdit::dit_struct_to_unix;
pub use libdit::libdit::unix_to_dit_string;
use libdit::libdit::Dit;
pub use libstardit::libstardit::unix_to_stardit;
use std::env;
use std::process::exit;
use std::str::FromStr;
pub use std::time::{SystemTime, UNIX_EPOCH};
fn main() {
/*
let code: &str = &r"0.12.34";
match Dit::from_str(code) {
Ok(dit) => {
println!(
r"Dit: deca: {} decim: {} desec: {}",
dit.deca, dit.decim, dit.desec
);
}
Err(_) => {
println!("{} is not a valid DIT!", code);
}
let args: Vec<String> = env::args().collect();
match args.len() {
1 => current(),
2 => parse(args[1].to_string()),
_ => {
eprintln!("Wrong usage");
exit(1);
}
*/
}
}
fn current() {
let current_timestamp = SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
@ -31,6 +33,18 @@ fn main() {
unix_to_dit_string(current_timestamp),
stardit.year,
stardit.weekade,
stardit.day_name
stardit.day_name,
);
}
fn parse(arg: String) {
match Dit::from_str(&arg) {
Ok(dit) => {
println!("{}", dit_struct_to_unix(dit));
}
Err(_) => {
eprintln!("{} is not a valid DIT!", arg);
exit(1);
}
}
}