రస్ట్‌లో తేదీ మరియు సమయంతో పని చేయడం

రస్ట్‌లో తేదీ మరియు సమయంతో పని చేయడం
మీలాంటి పాఠకులు MUOకి మద్దతు ఇవ్వడానికి సహాయం చేస్తారు. మీరు మా సైట్‌లోని లింక్‌లను ఉపయోగించి కొనుగోలు చేసినప్పుడు, మేము అనుబంధ కమీషన్‌ను సంపాదించవచ్చు. ఇంకా చదవండి.

టాస్క్‌లను షెడ్యూల్ చేయడం మరియు డేటాను విశ్లేషించడం నుండి గణనలను నిర్వహించడం మరియు డేటా ప్రాతినిధ్యాన్ని నిర్ధారించడం వరకు అనేక అప్లికేషన్‌లలో తేదీ మరియు సమయాన్ని నిర్వహించడం అనేది కీలకమైన అంశం.





రస్ట్ తేదీలు మరియు సమయాలతో పని చేయడానికి అనేక లైబ్రరీలు మరియు మాడ్యూల్‌లను కలిగి ఉంది. రస్ట్ అంతర్నిర్మిత అందిస్తుంది సమయం సమయ-సంబంధిత కార్యకలాపాల కోసం క్రాట్, మరియు క్రోనో లైబ్రరీ తేదీ మరియు సమయ కార్యకలాపాల కోసం అనేక ఇతర రస్ట్ లైబ్రరీలతో పరస్పరం పనిచేస్తుంది.





రోజు యొక్క వీడియోను తయారు చేయండి కంటెంట్‌తో కొనసాగడానికి స్క్రోల్ చేయండి

రస్ట్‌లో తేదీ మరియు సమయంతో పని చేయడం ప్రారంభించడం

క్రోనో అనేది రస్ట్‌లో తేదీలు, సమయాలు, సమయ మండలాలు మరియు వ్యవధిని నిర్వహించడానికి తేదీ-సమయ లైబ్రరీ. క్రోనో తేదీ మరియు సమయ రకాలు, సమయ మండలాలు మరియు ఆఫ్‌సెట్ తేదీ-సమయం, వ్యవధి మరియు విరామం, పార్సింగ్ మరియు ఫార్మాటింగ్ మరియు క్యాలెండర్‌లతో పనిచేయడం కోసం బహుళ ఫీచర్లు మరియు స్పష్టమైన APIని అందిస్తుంది.





క్రోనో రస్ట్ ఎకోసిస్టమ్‌లోని ఇతర లైబ్రరీలతో బాగా ఆడుతుంది మరియు వివిధ స్ట్రీమ్‌ల నుండి మరియు క్రోనో తేదీ మరియు సమయ విలువలను చదవడానికి మరియు వ్రాయడానికి మిమ్మల్ని అనుమతించే ప్రామాణిక లైబ్రరీ యొక్క I/O లక్షణాలతో సజావుగా కలిసిపోతుంది.

అదనంగా, క్రోనో సీరియలైజేషన్ మరియు డీరియలైజేషన్ ద్వారా మద్దతునిస్తుంది కోర్ crate, JSON, YAML మరియు ఇతర ఫార్మాట్‌లలో క్రోనో రకాలతో పని చేయడం సులభం చేస్తుంది. సెర్డేతో క్రోనో యొక్క ఏకీకరణ తేదీ-సమయ కార్యకలాపాలకు అనుకూలంగా ఉంటుంది రస్ట్‌లో వెబ్ అప్లికేషన్‌లను రూపొందించడం .



మీ లొకేషన్‌ను తిరిగి పొందడానికి మీరు క్రోనోను ఉపయోగించవచ్చు UTC (కోఆర్డినేటెడ్ యూనివర్సల్ టైమ్) మార్పిడుల వంటి అనేక కార్యకలాపాల కోసం.

దీనికి ఈ ఆదేశాన్ని జోడించండి ఆధారపడటం మీ విభాగం charge.toml ఇన్‌స్టాల్ చేయడానికి మరియు ఉపయోగించడానికి ఫైల్ కాలక్రమం గాజు సీసాలు రవాణా చేసేందుకు ఉపయోగించే పెట్టె:





 [dependencies] 
chrono = "0.4.24"

ఇన్స్టాల్ చేసిన తర్వాత కాలక్రమం క్రాట్, మీరు ఉపయోగించవచ్చు కాలక్రమం ఈ విధంగా క్రేట్‌ను దిగుమతి చేయడం ద్వారా మీ రస్ట్ ప్రాజెక్ట్‌లో:

వైర్‌లెస్ కనెక్షన్ విండోస్ 10 డ్రాప్ అవుతోంది
 use chrono::prelude::*; 

మీ డెవలప్‌మెంట్ ఆర్సెనల్‌లో మీకు అవసరమైన రస్ట్ క్రేట్‌లలో క్రోనో ఒకటి, ఎందుకంటే ఇది తేదీ మరియు సమయ కార్యకలాపాల కోసం చాలా ఫీచర్‌లను అందిస్తుంది.





క్రోనోతో రస్ట్‌లో టైమ్‌జోన్‌లు మరియు టైమ్ హ్యాండ్లింగ్

టైమ్‌జోన్‌లు టైమ్‌స్టాంప్‌లు మరియు సమయ-సంబంధిత సమాచారం వివిధ భౌగోళిక స్థానాల్లో ఖచ్చితమైనవి మరియు స్థిరంగా ఉన్నాయని నిర్ధారిస్తాయి. సమయ-సంబంధిత డేటాతో పని చేస్తున్నప్పుడు, అస్పష్టత మరియు దోషాలను నివారించడానికి సమయ మండలాలను పరిగణనలోకి తీసుకోవడం చాలా అవసరం. టైమ్‌స్టాంప్‌లను సరిపోల్చడం, వ్యవధిని లెక్కించడం లేదా సరైన టైమ్‌జోన్ హ్యాండ్లింగ్ లేకుండా ఈవెంట్‌లను షెడ్యూల్ చేయడం వంటి కార్యకలాపాలు ఊహించని ఫలితాలను అందిస్తాయి.

మీరు క్రోనోతో సమయ మండలాల మధ్య మార్చవచ్చు. మార్చడానికి ఇక్కడ ఒక ఉదాహరణ ఉంది a తేదీ సమయం ఒక సమయ క్షేత్రం నుండి మరొకదానికి:

 use chrono::{DateTime, Utc, Local, TimeZone}; 

fn convert_timezone() {
    let utc_time: DateTime<Utc> = Utc::now();
    let local_time: DateTime<Local> = utc_time.with_timezone(&Local);

    println!("UTC time: {}", utc_time);
    println!("Local time: {}", local_time);
}

ది కన్వర్ట్_టైమ్‌జోన్ ఫంక్షన్ ప్రస్తుత UTCని తిరిగి పొందుతుంది Utc:: ఇప్పుడు పద్ధతి, తో UTCని స్థానిక సమయమండలికి మారుస్తుంది టైమ్‌జోన్‌తో సూచనగా తీసుకునే పద్ధతి స్థానిక నిర్మాణం మరియు రిటర్న్స్ a తేదీ సమయం ఆబ్జెక్ట్ సమయంలో అదే పాయింట్‌ను సూచిస్తుంది కానీ స్థానిక టైమ్‌జోన్‌లో ఉంటుంది.

మీరు కాల్ చేసినప్పుడు కన్వర్ట్_టైమ్‌జోన్ ఫంక్షన్, ఇది కన్సోల్‌కు UTC మరియు స్థానిక సమయాన్ని ప్రింట్ చేస్తుంది.

  న్యూయార్క్ టైమ్‌ని ప్రింట్ చేయడం వల్ల ఫలితం

అదనంగా, క్రోనో డేలైట్ సేవింగ్ టైమ్ (DST) మరియు టైమ్‌జోన్ ఆఫ్‌సెట్‌ల కోసం అనుకూలమైన పద్ధతులు మరియు కార్యాచరణలను అందిస్తుంది. మీ సిస్టమ్‌లో, మీరు చేయవచ్చు డేలైట్ సేవింగ్ సమయం కోసం గడియారాన్ని సర్దుబాటు చేయండి సెట్టింగ్‌ల యాప్ లేదా కంట్రోల్ ప్యానెల్ ద్వారా.

DST మరియు టైమ్ ఆఫ్‌సెట్‌లతో క్రోనో యొక్క సామర్థ్యాలను చూపే ఉదాహరణ ఇక్కడ ఉంది:

 use chrono::{DateTime, Utc, FixedOffset}; 

fn handle_dst() {
    let utc_time: DateTime<Utc> = Utc::now();
    let ny_timezone = FixedOffset::east(5 * 3600);
    // Eastern Daylight Time (EDT) UTC-4:00

    let ny_time: DateTime<FixedOffset> = utc_time.with_timezone(&ny_timezone);

    println!("UTC time: {}", utc_time);
    println!("New York time: {}", ny_time);
}

ది handle_dst ఫంక్షన్‌తో ప్రస్తుత సమయాన్ని యాక్సెస్ చేస్తుంది ఇప్పుడు పద్ధతి మరియు ఆఫ్‌సెట్ సమయాన్ని లెక్కించేటప్పుడు న్యూయార్క్‌లోని సమయాన్ని తిరిగి పొందుతుంది ఫిక్స్‌డ్‌ఆఫ్‌సెట్:: తూర్పు పద్ధతి.

కాల్ చేయడం ద్వారా టైమ్‌జోన్‌తో ఫంక్షన్, మీరు UTCని న్యూయార్క్ టైమ్‌జోన్‌కి మారుస్తున్నారు. క్రోనో తగిన DST ప్రకారం సమయ సర్దుబాట్లను నిర్వహిస్తుంది మరియు a తేదీ సమయం వస్తువు.

  న్యూయార్క్ టైమ్‌ని ప్రింట్ చేయడం వల్ల ఫలితం

DSTతో పనిచేస్తున్నప్పుడు, నిర్దిష్ట తేదీలు మరియు సమయాల్లో DST పరివర్తనాలు జరుగుతాయని గుర్తుంచుకోవడం చాలా ముఖ్యం. క్రోనోస్ తేదీ సమయం struct ఈ పరివర్తనలను నిర్వహించడానికి మరియు వివిధ సమయ మండలాల్లో సమయం యొక్క ఖచ్చితమైన ప్రాతినిధ్యాలను నిర్ధారించడానికి అమర్చబడి ఉంటుంది.

వ్యవధి మరియు విరామం లెక్కలు

వ్యవధి అనేది ఏదైనా నిర్దిష్ట సమయం నుండి స్వతంత్రంగా ఉండే సమయం. మీరు రెండు ఈవెంట్‌ల మధ్య వ్యవధిని లెక్కించాలి, గడిచిన సమయాన్ని కొలవాలి లేదా నిర్దిష్ట సమయం నుండి కొంత మొత్తాన్ని జోడించాలి లేదా తీసివేయాలి.

రస్ట్ స్టాండర్డ్ లైబ్రరీ సమయం వ్యవధులను సమర్థవంతంగా నిర్వహించడానికి crate సమగ్ర సాధనాలను అందిస్తుంది.

మీరు ఫంక్షన్ యొక్క ఎగ్జిక్యూషన్ సమయాన్ని ఎలా కొలవగలరో ఇక్కడ ఉంది సమయం గాజు సీసాలు రవాణా చేసేందుకు ఉపయోగించే పెట్టె:

 use chrono::{DateTime, Utc}; 
use std::time::Instant;

fn main() {
    let start = Instant::now();

    // Perform some operation
    // ...

    let end = Instant::now();
    let duration = end.duration_since(start);

    println!("Elapsed time: {:?}", duration);
}

ది ప్రధాన ఫంక్షన్ తో ప్రస్తుత సమయాన్ని తిరిగి పొందుతుంది తక్షణ అంతర్నిర్మిత పద్ధతి సమయం గాజు సీసాలు రవాణా చేసేందుకు ఉపయోగించే పెట్టె. ఆపరేషన్ తర్వాత, ది ప్రధాన ఫంక్షన్ ఆ క్షణంలో సమయాన్ని తిరిగి పొందుతుంది మరియు దానితో వ్యత్యాసాన్ని అంచనా వేస్తుంది వ్యవధి_నుండి కన్సోల్‌కు సమయ వ్యత్యాసాన్ని ముద్రించే ముందు ఫంక్షన్ చేయండి.

సీరియలైజింగ్ మరియు డీసీరియలైజింగ్: క్రోనోను ఉపయోగించి JSON తేదీ మరియు సమయాన్ని తుప్పు పట్టేలా మార్చడం

Chrono మరియు Serdeని ఉపయోగించి JSON నుండి తేదీ మరియు సమయ విలువలను సీరియలైజ్ చేయడం మరియు డీరియలైజ్ చేయడం అనేది సరళమైన ప్రక్రియ. మొదట, జోడించండి కోర్ మరియు serde_json మీ ప్రాజెక్ట్ డిపెండెన్సీలకు డబ్బాలు.

 [dependencies] 
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

తరువాత, మీరు రస్ట్ రకాన్ని నిర్వచించాలి మరియు అమలు చేయాలి #[ఉత్పన్నం(సీరియలైజ్, డీసీరియలైజ్)] మీరు డేటా రకాన్ని పేర్కొనే రకానికి సంబంధించిన లక్షణాలు:

 use chrono::{DateTime, Utc}; 

#[derive(Serialize, Deserialize)]
struct Meeting {
    start_time: DateTime<Utc>,
    end_time: DateTime<Utc>,
}

మీరు సీరియల్ చేయవచ్చు సమావేశం క్రోనో యొక్క ఫార్మాటింగ్ సామర్థ్యాలతో పాటు సెర్డేతో JSONకి రూపొందించబడింది.

రెండవ ssd కోసం mbr లేదా gpt

మీరు ఒక ఉదాహరణను ఎలా మార్చవచ్చో ఇక్కడ ఉంది సమావేశం JSONకి టైప్ చేయండి:

 use serde_json::to_string; 

fn main() {
    let meeting = Meeting {
        start_time: Utc::now(),
        end_time: Utc::now(),
    };

    let json = to_string(&meeting).unwrap();
    println!("{}", json);
}

ది ప్రధాన ఫంక్షన్ a సృష్టిస్తుంది సమావేశం ఉపయోగించి ముందు ఫీల్డ్‌ల కోసం ప్రస్తుత UTCతో ఉదాహరణ to_string కన్సోల్‌కు ప్రింట్ చేయబడిన JSON స్ట్రింగ్‌కు స్ట్రక్ట్ ఇన్‌స్టాన్స్‌ను మార్చడానికి ఫంక్షన్.

మీరు serde_json'sతో JSON తేదీ-సమయ డేటాను struct రకంగా సులభంగా డీరియలైజ్ చేయవచ్చు నుండి_str JSON స్ట్రింగ్‌ని తీసుకుని, స్ట్రక్ట్ ఇన్‌స్టాన్స్‌ని అందించే ఫంక్షన్.

 use serde_json::from_str; 

fn main() {
    let json = r#"{"start_time": "2023-05-28T12:00:00Z", "end_time": "2023-05-28T14:00:00Z"}"#;

    let meeting: Meeting = from_str(json).unwrap();
    println!("{:#?}", meeting);
}

ది ప్రధాన ఫంక్షన్ నుండి JSON స్ట్రింగ్‌ను డీరియలైజ్ చేస్తుంది json లోకి వేరియబుల్ సమావేశం యొక్క ఉదాహరణ సమావేశం కన్సోల్‌కు struct ఉదాహరణను ముద్రించే ముందు struct చేయండి.

మీరు రస్ట్‌తో అధునాతన అప్లికేషన్‌లను రూపొందించవచ్చు

క్రోనో యొక్క పటిష్టత, వాడుకలో సౌలభ్యం మరియు విస్తృతమైన కార్యాచరణ మీ యాప్‌ల తేదీలు, సమయాలు, వ్యవధి మరియు విరామాలను నిర్వహించడానికి ఇది ఒక అనివార్య సాధనంగా మారింది. మీరు క్రోనో యొక్క సామర్థ్యాలను ఉపయోగించుకోవడం ద్వారా ఖచ్చితమైన సమయ గణనలు, సమర్థవంతమైన షెడ్యూలింగ్ మరియు విశ్వసనీయ తేదీ-సంబంధిత కార్యకలాపాలను నిర్ధారించవచ్చు.

క్రోనో కోసం ఒక కీలక ఉపయోగ సందర్భం వెబ్ అప్లికేషన్‌లను రూపొందించడం. మీరు యాక్టివిటీ టైమ్ రికార్డ్‌లు, టైమింగ్ యూజర్ యాక్టివిటీ మరియు ఇతర వెబ్ ఆపరేషన్‌ల కోసం క్రోనోని ఉపయోగించవచ్చు.