Rust:
Обчислення дати у майбутньому або минулому
Як це зробити:
В Rust використовуємо бібліотеку chrono
для роботи з датами. Щоб додати цю бібліотеку до проекту, додаємо наступне в Cargo.toml
:
[dependencies]
chrono = "0.4"
Тепер можна обчислити дату у майбутньому чи минулому:
extern crate chrono;
use chrono::{DateTime, Duration, Utc};
fn main() {
let now = Utc::now();
let two_weeks = Duration::weeks(2);
let future_date = now + two_weeks;
let past_date = now - two_weeks;
println!("Теперішня дата: {}", now);
println!("Дата через два тижні: {}", future_date);
println!("Дата два тижні тому: {}", past_date);
}
У вас буде щось на кшталт цього:
Теперішня дата: 2023-04-07T12:34:56Z
Дата через два тижні: 2023-04-21T12:34:56Z
Дата два тижні тому: 2023-03-24T12:34:56Z
Глибше занурення:
Обчислення дат має давню історію - люди рахували дні для аграрних циклів, свят і подій. У цифрову епоху, це стало частиною систем управління проектами, планувальників і засобів для відстеження часу.
Альтернативи chrono
включають безпосередню роботу з таймстемпами і стандартну бібліотеку (std::time
). Але chrono
надає більш зручні інструменти для роботи з датами.
Деталі реалізації: chrono
базується на стандартних часових точках, але також дозволяє форматування дат, обчислення різниці між датами і створення настроюваних часових зон. Враховуйте, що обчислення дат важливе для багатьох функцій і може впливати на продуктивність системи.
Дивіться також:
- Документація
chrono
: https://docs.rs/chrono/ - Стандартна бібліотека часу Rust: https://doc.rust-lang.org/std/time/
- Практичний посібник з Rust і дат/часу: https://stevedonovan.github.io/rustifications/2018/05/31/rust-datetime-manipulation.html