Rust에서 Chrono 크레이트(라이브러리)를 사용하여 현재 시간(DateTime)을 가져오는 방법을 소개합니다.
1. Chrono crate 의존성 추가
Chrono crate는 Cargo.toml
에 아래와 같이 추가할 수 있습니다.
[dependencies]
chrono = "0.4.24"
2. 현재 시간(UTC) 가져오기
아래와 같이 현재 시간에 대한 UTC의 DateTime을 가져올 수 있습니다.
Utc::now()
는 현재 Utc 시간에 대한 DateTime을 리턴- RFC 2822: HTTP 및 이메일 헤더 등에 날짜와 시간을 동일하게 표시하기 위한 인터넷 메시지 포맷
- RFC 3339: 인터넷 프로토콜을 위한 ISO 8601 표준의 프로파일로써 그레고리안 달력을 사용
now.format()
으로 원하는 포맷 날짜로 출력
use chrono::{DateTime, Utc};
fn main() {
let now: DateTime<Utc> = Utc::now();
println!("UTC: {}", now);
println!("UTC(RFC 2822): {}", now.to_rfc2822());
println!("UTC(RFC 3339): {}", now.to_rfc3339());
println!("UTC(custom format): {}", now.format("%a %b %e %T %Y"));
}
Output:
UTC: 2023-05-14 01:31:35.752675656 UTC
UTC(RFC 2822): Sun, 14 May 2023 01:31:35 +0000
UTC(RFC 3339): 2023-05-14T01:31:35.752675656+00:00
UTC(custom format): Sun May 14 01:31:35 2023
3. 현재 시간(Local Time) 가져오기
아래와 같이 Local Time으로 현재 시간을 가져올 수 있습니다.
Local::now()
는 현재 시간을 Local time(현지 시간)으로 가져옴
use chrono::{DateTime, Local, Utc};
fn main() {
let utc: DateTime<Utc> = Utc::now();
let local: DateTime<Local> = Local::now();
println!("UTC: {}", utc);
println!("Local: {}", local);
}
Output:
UTC: 2023-05-14 01:51:02.930744600 UTC
Local: 2023-05-14 10:51:02.930751969 +09:00
4. UTC를 Local Time으로 변환
DateTime::from(utc)
으로 UTC를 DateTime<Local>
로 변환할 수 있습니다.
use chrono::{DateTime, Local, Utc};
fn main() {
let utc: DateTime<Utc> = Utc::now();
let local: DateTime<Local> = Local::now();
println!("UTC: {}", utc);
println!("Local: {}", local);
let converted: DateTime<Local> = DateTime::from(utc);
println!("Converted: {}", converted);
}
Output:
UTC: 2023-05-14 01:50:23.675037208 UTC
Local: 2023-05-14 10:50:23.675045568 +09:00
Converted: 2023-05-14 10:50:23.675037208 +09:00
Loading script...
Related Posts
- Rust - String을 char 리스트(Vector)로 변환
- Rust - 문자가 대문자인지 소문자인지 확인
- Rust - String에서 줄바꿈(newline) 문자 제거 방법
- Rust - String 대문자, 소문자 변환
- Rust - 현재 시간 가져오기 (DateTime, chrono)
- Rust - 예외 처리 방법 (Exception handling)
- Rust - String.find()으로 문자열 Index 찾기
- Rust - match (Switch) 사용 방법
- Rust - Vector의 요소 제거 방법 (remove, retain, drain)
- Rust - String의 특정 Index 값 가져오기
- Rust - 문자열 뒤집기, 역순으로 변경
- Rust - String 객체에 문자열 추가하기
- Rust - sleep(), 몇 초 지연/대기 방법
- Rust - String을 Int, Float으로 변환
- Rust - Integer를 String으로 변환
- Rust - Float를 String으로 변환
- Rust - String 비교 방법 (==, !=, eq, ne)
- Rust - String을 str으로, str을 String으로 변환
- Rust - String 공백 제거 (trim, replace)
- Rust - 2개의 배열이 같은지 비교 (==, equals)
- Rust - 배열 길이 가져오기 (Array length)
- Rust - Vector를 배열로 변환 (vector to array)
- Rust - 배열의 최소, 최대 값 찾기 (min, max)
- Rust - 배열의 합계, 평균 (sum, average)
- Rust - 2개의 Vector가 같은지 비교 (==, equals)
- Rust - HashMap을 Vector로 변환
- Rust - Vector의 최소, 최대 값 찾기 (min, max)
- Rust - Vector의 합계, 평균 (sum, average)
- Rust - 벡터 길이 가져오기 (Vector length)
- Rust - 배열을 HashSet으로 변환
- Rust - 배열을 벡터로 변환하는 방법
- Rust - 배열(벡터) 모든 요소 출력
- Rust - 배열 나누기, 자르기 (split_at, slice)
- Rust - 2개 벡터 하나로 합치기
- Rust - HashSet을 Vector로 변환