Rust:
তারিখকে স্ট্রিং এ রূপান্তর করা
কিভাবে:
রাস্টের chrono
ক্রেট হল তারিখ এবং সময় পরিচালনার জন্য যাবতীয় সমাধান। নিশ্চিত করুন এটি আপনার Cargo.toml
এ আছে:
[dependencies]
chrono = "0.4"
এখন, চলুন একটি তারিখকে স্ট্রিং আকারে ফরম্যাট করা যাক।
extern crate chrono;
use chrono::{DateTime, Utc, NaiveDateTime};
fn main() {
let date: DateTime<Utc> = Utc::now(); // বর্তমান UTC তারিখ ও সময় পান।
let formatted_date = date.format("%Y-%m-%d %H:%M:%S").to_string();
println!("{}", formatted_date); // প্রিন্ট করে: 2023-03-15 14:30:45
}
গভীর ডাইভ
chrono
এর আগে, রাস্টের স্ট্যান্ডার্ড লাইব্রেরিতে কিছু তারিখ ও সময় ফাংশন ছিল, কিন্তু তারা মৌলিক ছিল। chrono
ওই মৌলিক ভিত্তির উপর নির্মিত হয়েছে যাতে সম্পূর্ণ কার্যকারিতা প্রদান করা যায়। একটি বিকল্প হতে পারে রাস্টের নতুন time
ক্রেট, যা একটি নিরাপদ এবং অধিক এরগনোমিক API এর লক্ষ্য নিয়েছে।
যখন আপনি একটি তারিখকে স্ট্রিং আকারে রূপান্তর করেন, আপনি সিরিয়ালাইজ করেন - ডেটা এমন একটি ফর্ম্যাটে পরিণত করেন যা শেয়ার করা বা সংরক্ষণ করা সম্ভব। আপনি যে ফরম্যাট চয়ন করেন (আমাদের ক্ষেত্রে %Y-%m-%d %H:%M:%S
) তা আপনার উপর নির্ভর করে, এবং chrono
এরকম অনেক প্যাটার্ন সমর্থন করে।
অভ্যন্তরীণভাবে, তারিখগুলি প্রায়শই টাইমস্ট্যাম্প হিসাবে সংরক্ষিত হয় - যেমন ইউনিক্স এপোক (জানুয়ারী ১, ১৯৭০) থেকে শুরু করে সেকেন্ড। যখন আপনি একটি তারিখ ফরম্যাট করেন, আপনি এই গণনা থেকে মানব-পাঠ্য রূপ কম্পিউট করেন, সময় অঞ্চল এবং অধিবর্ষ সেকেন্ডের বিবেচনা করে।
অতিরিক্ত দেখুন
chrono
ক্রেট ডকুমেন্টেশন: https://docs.rs/chrono/- রাস্টের
time
ক্রেট ডকুমেন্টেশন: https://docs.rs/time/ - তারিখ ফরম্যাটিং সিনট্যাক্স: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table