Home »
Rust »
Rust Programs
Rust program to print the current date-time according to CHINA time-zone
Rust | Date & Time Example: Write a program to print the current date-time according to CHINA time-zone.
Submitted by Nidhi, on November 09, 2021
Problem Solution:
In this program, we will get the current LOCAL date-time and convert it into UTC Time and then print the current date-time according to the CHINA time-zone.
Add Chrono date-time external library to your project
-
Create your project using the below command.
$cargo new datetime -bin
-
Goto the project folder cd datetime and edit Cargo.toml file.
$datetime>nano Cargo.toml
-
Then add dependency in Cargo.toml file
[dependencies]
chrono = "0.4"
-
After that, build your project using the below command
$datetime>cargo build
-
Then execute your project after modification in src/main.rs source file.
$datetime>cargo run
Program/Source Code:
The source code to print the current date-time according to CHINA time-zone is given below. The given program is compiled and executed on UBUNTU 18.04 successfully.
// Rust program to print the current date-time
// according to CHINA time-zone
use chrono::{DateTime, FixedOffset, Local, Utc};
fn main() {
let localTime = Local::now();
let utcTime = DateTime::<Utc>::from_utc(localTime.naive_utc(), Utc);
let chinaTimezone = FixedOffset::east(8 * 3600);
println!("Local time: {}", localTime);
println!("UTC time: {}", utcTime);
println!("Current time in CHINA: {}",utcTime.with_timezone(&chinaTimezone));
}
Output:
$datetime> cargo run
Compiling datetime v0.1.0 (/home/arvind/Desktop/rust/datetime)
Finished dev [unoptimized + debuginfo] target(s) in 0.29s
Running `target/debug/datetime`
Local time: 2021-10-30 09:05:27.793412856 -07:00
UTC time: 2021-10-30 16:05:27.793412856 UTC
Current time in CHINA: 2021-10-31 00:05:27.793412856 +08:00
Explanation:
In the above program, we imported the "Chrono" library to our project for performing date and time operations. We imported the Chrono library using the below line:
use chrono::Utc;
In the main() function, we got the current LOCAL date-time using the Local::now() method and converted it into UTC date-time using the from_utc() method. Then we converted the UTC time according to the CHINA time-zone and printed the result.
Rust Date and Time Programs »