#![allow(missing_docs)]
use dtt::prelude::*;
fn main() -> Result<(), AppError> {
let mumbai = DateTime::new_with_tz("IST_INDIA")?;
let dublin = DateTime::new_with_tz("IST_IRELAND")?;
let tel_aviv = DateTime::new_with_tz("IST_ISRAEL")?;
println!("Mumbai : {mumbai}");
println!("Dublin : {dublin}");
println!("Tel Aviv : {tel_aviv}");
let utc = DateTime::parse("2024-06-15T12:00:00Z")?;
let nyc = utc.convert_to_tz("EST_USA")?;
let tokyo = utc.convert_to_tz("JST")?;
println!("\nSame instant in three zones:");
println!(" UTC : {utc}");
println!(" NYC : {nyc}");
println!(" Tokyo : {tokyo}");
assert_eq!(utc, nyc);
assert_eq!(utc, tokyo);
let kathmandu = DateTime::new_with_custom_offset(5, 45)?;
println!("\nKathmandu (custom +05:45): {kathmandu}");
assert!(DateTime::new_with_custom_offset(5, -30).is_err());
Ok(())
}