Date manipulation: Difference between revisions

Add Rust implementation
(Add Crystal)
(Add Rust implementation)
Line 2,582:
print date$(d);" ";t1$;ap$</lang><pre>03/08/2009 7:30am</pre>
 
=={{header|Rust}}==
<lang rust>
use chrono::prelude::*;
use chrono::Duration;
 
fn main() {
// Chrono allows parsing time zone abbreviations like "EST", but
// their meaning is ignored due to a lack of standardization.
//
// This solution compromises by augmenting the parsed datetime
// with the timezone using the IANA abbreviation.
let ndt =
NaiveDateTime::parse_from_str("March 7 2009 7:30pm EST", "%B %e %Y %l:%M%P %Z").unwrap();
 
// add TZ manually
let dt = chrono_tz::EST.from_local_datetime(&ndt).unwrap();
println!("Date parsed: {:?}", dt);
 
let new_date = dt + Duration::hours(12);
println!("+12 hrs in EST: {:?}", new_date);
println!(
"+12 hrs in CET: {:?}",
new_date.with_timezone(&chrono_tz::CET)
);
}
 
</lang>
{{out}}
<pre>
Date parsed: 2009-03-07T19:30:00EST
+12 hrs in EST: 2009-03-08T07:30:00EST
+12 hrs in CET: 2009-03-08T13:30:00CET
</pre>
=={{header|Scala}}==
<lang scala>import java.text.SimpleDateFormat
Line 2,604 ⟶ 2,637:
<pre>March 8 2009 8:30AM EDT
March 8 2009 12:30PM GMT</pre>
 
 
=={{header|Seed7}}==
Anonymous user