rust:chrono
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
rust:chrono [2022/07/05 02:25] – nullpon | rust:chrono [2023/02/22 08:27] (現在) – nullpon | ||
---|---|---|---|
行 16: | 行 16: | ||
chrono-tz = " | chrono-tz = " | ||
``` | ``` | ||
+ | |||
## 現在日時の取得 | ## 現在日時の取得 | ||
行 28: | 行 29: | ||
``` | ``` | ||
- | ローカルタイムゾーンで指定した日時を取得。ymd, | ||
- | ``` | + | ## 指定時刻の取得 |
+ | |||
+ | 年月日時分秒を指定してDateTimeを取得 | ||
+ | |||
+ | ```rust | ||
use chrono:: | use chrono:: | ||
- | let dt = Local.ymd(2022, 7, 5).and_hms(10, 14, 31); | + | let result |
- | println!(" | + | |
``` | ``` | ||
+ | |||
+ | `use chrono:: | ||
+ | |||
+ | 日付が正しい場合は`single`が`Some< | ||
+ | |||
+ | ```rust | ||
+ | let dt = Local.with_ymd_and_hms(2022, | ||
+ | println!(" | ||
+ | ``` | ||
+ | |||
+ | 日付指定が不正な場合や、日付が1通りに定まらない場合、`single`は`None`を返す | ||
+ | |||
+ | ```rust | ||
+ | let dt = Local.with_ymd_and_hms(2022, | ||
+ | println!(" | ||
+ | ``` | ||
+ | |||
+ | アメリカ東海岸では夏時間の終了によって2023年11月5日1時30分という日時が2回発生するため1通りに定まらない | ||
+ | |||
+ | ```rust | ||
+ | let dt = chrono_tz:: | ||
+ | println!(" | ||
+ | ``` | ||
+ | |||
+ | このような場合は`single`ではなく`earliest`、`latest`というメソッドでそれぞれの日時を取得できる | ||
+ | |||
+ | ```rust | ||
+ | let result = chrono_tz:: | ||
+ | |||
+ | println!(" | ||
+ | println!(" | ||
+ | ``` | ||
+ | |||
+ | matchで切り分けも可能 | ||
+ | |||
+ | ```rust | ||
+ | let result = Local.with_ymd_and_hms(2022, | ||
+ | match result { | ||
+ | LocalResult:: | ||
+ | LocalResult:: | ||
+ | LocalResult:: | ||
+ | } | ||
+ | ``` | ||
+ | |||
+ | ちなみに過去の日本でもGHQ占領下でサマータイム制が施行されている(1948〜1951年) | ||
+ | |||
+ | ``` | ||
+ | let result = chrono_tz:: | ||
+ | match result { | ||
+ | LocalResult:: | ||
+ | LocalResult:: | ||
+ | LocalResult:: | ||
+ | } | ||
+ | |||
+ | let result = chrono_tz:: | ||
+ | match result { | ||
+ | LocalResult:: | ||
+ | LocalResult:: | ||
+ | LocalResult:: | ||
+ | } | ||
+ | ``` | ||
+ | |||
+ | ``` | ||
+ | invalid date | ||
+ | 1951-09-09 00:30:00 JDT 1951-09-09 00:30:00 JST | ||
+ | ``` | ||
+ | |||
+ | |||
+ | </ |
rust/chrono.1656987915.txt.gz · 最終更新: 2022/07/05 02:25 by nullpon