Days between dates: Difference between revisions

Content added Content deleted
(Alternative C++ solution using Boost library)
(Added Rust solution)
Line 1,135: Line 1,135:
p (d2 - d1).to_i # => 291
p (d2 - d1).to_i # => 291
</lang>
</lang>

=={{header|Rust}}==
<lang rust>// [dependencies]
// chrono = "0.4"

use chrono::NaiveDate;

fn main() {
let args: Vec<String> = std::env::args().collect();
if args.len() != 3 {
eprintln!("usage: {} start-date end-date", args[0]);
std::process::exit(1);
}
if let Ok(start_date) = NaiveDate::parse_from_str(&args[1], "%F") {
if let Ok(end_date) = NaiveDate::parse_from_str(&args[2], "%F") {
let d = end_date.signed_duration_since(start_date);
println!("{}", d.num_days());
} else {
eprintln!("Can't parse end date");
std::process::exit(1);
}
} else {
eprintln!("Can't parse start date");
std::process::exit(1);
}
}</lang>

{{out}}
<pre>
days_between_dates 2020-01-01 2020-09-06
249
</pre>


=={{header|Scala}}==
=={{header|Scala}}==