- front page
- Blog List
- Detailed article
Rustで日付と時刻を変換する方法
科
科技瘦
time convert
date tool
2025-09-17

Rustで日付と時刻を変換する方法

chronoクレートの基本
Rustで日付と時刻を扱うにはchronoクレートが最適です。まずCargo.tomlに追加します:
[dependencies]
chrono = "0.4"
基本的な使い方:
use chrono::{Local, Utc, DateTime};
// 現在時刻の取得(Rust で現在時刻を取得)
let local_now: DateTime<Local> = Local::now();
let utc_now: DateTime<Utc> = Utc::now();
日付と文字列の相互変換
Rust で日付を文字列に変換する方法:
use chrono::NaiveDate;
// 文字列から日付へ(Rust 日時パース エラー対処)
let date = NaiveDate::parse_from_str("2023-01-15", "%Y-%m-%d")?;
// 日付から文字列へ(Rust カスタム日付フォーマット)
let formatted = date.format("%Y年%m月%d日").to_string();
UNIXタイムスタンプの扱い
Rust でUNIXタイムスタンプを日付に変換:
use chrono::{DateTime, Utc, NaiveDateTime};
// UNIXタイムスタンプ → DateTime
let dt = DateTime::<Utc>::from_utc(
NaiveDateTime::from_timestamp(1673769600, 0),
Utc
);
// DateTime → UNIXタイムスタンプ
let timestamp = dt.timestamp();
日付計算
Rust 日付計算 サンプルコード:
use chrono::{Duration, NaiveDate};
let date = NaiveDate::from_ymd(2023, 1, 15);
let week_later = date + Duration::days(7);
let days_diff = week_later.signed_duration_since(date).num_days();
タイムゾーン変換
Rust タイムゾーン変換の基本:
use chrono::{DateTime, Utc, Local};
let utc_time: DateTime<Utc> = Utc::now();
let local_time: DateTime<Local> = DateTime::from(utc_time);
chronoクレートを使えば、日付と時刻の操作が簡単になります。フォーマット指定やタイムゾーン変換も直感的に記述可能です。



