Rust में दिनांक और समय के साथ कार्य: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Rust में दिनांक और समय के साथ कार्य का परिचय

दिनांक और समय के साथ कार्य करना किसी भी आधुनिक एप्लिकेशन में प्रमुख कार्यों में से एक है। चाहे वह इवेंट लॉगिंग हो, कार्य शेड्यूलिंग हो, उपयोगकर्ता डेटा प्रोसेसिंग हो या API के साथ कार्य हो — टाइमस्टैम्प के सही प्रबंधन के बिना काम नहीं चल सकता। अपनी प्रदर्शन क्षमता और सुरक्षा के लिए प्रसिद्ध Rust भाषा में, मानक लाइब्रेरी समय के साथ कार्य करने के लिए केवल न्यूनतम टूल प्रदान करती है। हालांकि, शक्तिशाली क्रेट chrono बचाव में आता है, जो Rust इकोसिस्टम में दिनांक और समय के साथ कार्य करने का डी-फैक्टो मानक बन गया है।

इस लेख में, हम विस्तार से समझेंगे कि chrono को कैसे स्थापित और उपयोग करें, दिनांक कैसे बनाएं, फ़ॉर्मेट करें, पार्स करें और उनमें हेरफेर करें, साथ ही टाइमज़ोन और Unix टाइमस्टैम्प के साथ कैसे काम करें।



chrono क्रेट की स्थापना और कनेक्शन

कार्य शुरू करने के लिए, अपने प्रोजेक्ट के Cargo.toml फ़ाइल में chrono निर्भरता जोड़ना आवश्यक है:

[dependencies]chrono = "0.4"

इसके बाद, कोड में आवश्यक प्रकार और ट्रेट्स को इम्पोर्ट किया जा सकता है:

use chrono::{DateTime, Utc, Local, NaiveDate, NaiveDateTime, Duration, Datelike, Timelike, TimeZone};

क्रेट chrono दिनांक और समय को प्रस्तुत करने के लिए कई प्रमुख प्रकार प्रदान करता है:

  • NaiveDate — बिना समय और टाइमज़ोन के दिनांक (उदाहरण: 2024-01-15)।
  • NaiveTime — बिना दिनांक और टाइमज़ोन के समय (उदाहरण: 14:30:00)।
  • NaiveDateTime — टाइमज़ोन के बिना दिनांक और समय का संयोजन।
  • DateTime<Utc> — UTC टाइमज़ोन के साथ दिनांक और समय।
  • DateTime<Local> — सिस्टम के स्थानीय टाइमज़ोन के साथ दिनांक और समय।
  • DateTime<FixedOffset> — UTC से मनमाने ऑफसेट के साथ दिनांक और समय।


वर्तमान समय बनाना और प्राप्त करना

वर्तमान समय प्राप्त करने का सबसे सरल तरीका Utc::now() और Local::now() फ़ंक्शन का उपयोग करना है:

use chrono::{Utc, Local};

fn main() { let utc_now: DateTime<Utc> = Utc::now(); let local_now: DateTime<Local> = Local::now(); println!("वर्तमान UTC समय: {}", utc_now); println!("वर्तमान स्थानीय समय: {}", local_now);}

एक विशिष्ट दिनांक बनाने के लिए NaiveDate::from_ymd और NaiveDateTime::new विधियों का उपयोग किया जा सकता है:

use chrono::{NaiveDate, NaiveDateTime, NaiveTime};

fn main() { // 15 मार्च 2024 की दिनांक बनाना let date = NaiveDate::from_ymd(2024, 3, 15); println!("दिनांक: {}", date); // समय 10:30:00 बनाना let time = NaiveTime::from_hms(10, 30, 0); println!("समय: {}", time); // दिनांक और समय का संयोजन let datetime = NaiveDateTime::new(date, time); println!("दिनांक और समय: {}", datetime);}

दिनांक पर and_hms विधि का उपयोग करके टाइमज़ोन के साथ दिनांक भी बनाया जा सकता है:

use chrono::{Utc, TimeZone};

fn main() { let datetime_utc = Utc.ymd(2024, 12, 25).and_hms(12, 0, 0); println!("क्रिसमस UTC: {}", datetime_utc);}


दिनांकों का फ़ॉर्मेटिंग और पार्सिंग

आउटपुट फ़ॉर्मेटिंग

दिनांक को स्ट्रिंग में बदलने के लिए format विधि का उपयोग किया जाता है, जो फ़ॉर्मेट स्ट्रिंग लेती है। फ़ॉर्मेट स्पेसिफायर Python और अन्य भाषाओं के समान हैं:

use chrono::{Utc, DateTime};

fn main() { let now = Utc::now(); // बेसिक फ़ॉर्मेटिंग println!("डिफ़ॉल्ट: {}", now.format("%Y-%m-%d %H:%M:%S")); println!("केवल दिनांक: {}", now.format("%d.%m.%Y")); println!("महीने के नाम के साथ: {}", now.format("%d %B %Y")); println!("सेकंड के साथ समय: {}", now.format("%H:%M:%S")); println!("Unix timestam

ब्लॉग

पुस्तक अनुशंसाएँ