ரஸ்டில் தேதி மற்றும் நேரத்துடன் பணிபுரிதல்

ரஸ்டில் தேதி மற்றும் நேரத்துடன் பணிபுரிதல்
உங்களைப் போன்ற வாசகர்கள் MUO ஐ ஆதரிக்க உதவுகிறார்கள். எங்கள் தளத்தில் உள்ள இணைப்புகளைப் பயன்படுத்தி நீங்கள் வாங்கும் போது, ​​நாங்கள் ஒரு இணை கமிஷனைப் பெறலாம். மேலும் படிக்க.

தேதி மற்றும் நேரத்தைக் கையாள்வது பல பயன்பாடுகளின் முக்கியமான அம்சமாகும், பணிகளை திட்டமிடுதல் மற்றும் தரவை பகுப்பாய்வு செய்தல் மற்றும் கணக்கீடுகளைச் செய்தல் மற்றும் தரவு பிரதிநிதித்துவத்தை உறுதி செய்தல்.





ரஸ்டில் தேதிகள் மற்றும் நேரங்களுடன் பணிபுரிய பல நூலகங்கள் மற்றும் தொகுதிகள் உள்ளன. ரஸ்ட் ஒரு உள்ளமைக்கப்பட்ட வழங்குகிறது நேரம் நேரம் தொடர்பான செயல்பாடுகளுக்கு crate, மற்றும் Chrono நூலகம் தேதி மற்றும் நேர செயல்பாடுகளுக்காக பல ரஸ்ட் நூலகங்களுடன் இயங்குகிறது.





அன்றைய வீடியோவை உருவாக்கவும் உள்ளடக்கத்துடன் தொடர உருட்டவும்

ரஸ்டில் தேதி மற்றும் நேரத்துடன் வேலை செய்யத் தொடங்குதல்

க்ரோனோ என்பது ரஸ்டில் தேதிகள், நேரங்கள், நேர மண்டலங்கள் மற்றும் கால அளவைக் கையாளும் தேதி நேர நூலகமாகும். தேதி மற்றும் நேர வகைகள், நேர மண்டலங்கள் மற்றும் ஆஃப்செட் தேதி-நேரம், கால அளவு மற்றும் இடைவெளி, பாகுபடுத்துதல் மற்றும் வடிவமைத்தல் மற்றும் காலெண்டர்களுடன் பணிபுரிதல் போன்ற பல அம்சங்களையும், உள்ளுணர்வு APIயையும் Chrono வழங்குகிறது.





க்ரோனோ ரஸ்ட் சுற்றுச்சூழல் அமைப்பில் உள்ள மற்ற நூலகங்களுடன் நன்றாக விளையாடுகிறது மற்றும் நிலையான நூலகத்தின் I/O பண்புகளுடன் தடையின்றி ஒருங்கிணைக்கிறது, இது க்ரோனோ தேதி மற்றும் நேர மதிப்புகளைப் படிக்கவும் எழுதவும் உங்களை அனுமதிக்கிறது.

கூடுதலாக, க்ரோனோ சீரியலைசேஷன் மற்றும் டிசீரியலைசேஷன் மூலம் ஆதரவைக் கொண்டுள்ளது கோர் crate, JSON, YAML மற்றும் பிற வடிவங்களில் க்ரோனோ வகைகளுடன் வேலை செய்வதை எளிதாக்குகிறது. Serde உடனான Chrono இன் ஒருங்கிணைப்பு, தேதி நேர செயல்பாடுகளுக்கு ஏற்றதாக ஆக்குகிறது ரஸ்டில் வலை பயன்பாடுகளை உருவாக்குதல் .



உங்கள் இருப்பிடத்தை மீட்டெடுக்க க்ரோனோவைப் பயன்படுத்தலாம் UTC (ஒருங்கிணைந்த உலகளாவிய நேரம்) மாற்றங்கள் போன்ற பல செயல்பாடுகளுக்கு.

இந்த உத்தரவை இதில் சேர்க்கவும் சார்புகள் உங்கள் பகுதி கட்டணம். toml நிறுவ மற்றும் பயன்படுத்த கோப்பு காலவரிசை கூடையின்:





 [dependencies] 
chrono = "0.4.24"

நிறுவிய பின் காலவரிசை crate, நீங்கள் பயன்படுத்தலாம் காலவரிசை உங்கள் ரஸ்ட் திட்டத்தில் கிரேட்டை இவ்வாறு இறக்குமதி செய்து:

 use chrono::prelude::*; 

க்ரோனோ என்பது உங்கள் மேம்பாட்டு ஆயுதக் களஞ்சியத்தில் உங்களுக்குத் தேவைப்படும் ரஸ்ட் கிரேட்களில் ஒன்றாகும், ஏனெனில் இது தேதி மற்றும் நேர செயல்பாடுகளுக்கான பெரும்பாலான அம்சங்களை வழங்குகிறது.





க்ரோனோவுடன் ரஸ்டில் நேர மண்டலங்கள் மற்றும் நேரத்தைக் கையாளுதல்

நேர மண்டலங்கள் நேர முத்திரைகள் மற்றும் நேரம் தொடர்பான தகவல்கள் பல்வேறு புவியியல் இடங்களில் துல்லியமாகவும் சீரானதாகவும் இருப்பதை உறுதி செய்கிறது. நேரம் தொடர்பான தரவுகளுடன் பணிபுரியும் போது, ​​தெளிவின்மை மற்றும் தவறுகளைத் தடுக்க நேர மண்டலங்களைக் கருத்தில் கொள்வது அவசியம். நேர முத்திரைகளை ஒப்பிடுதல், கால அளவைக் கணக்கிடுதல் அல்லது சரியான நேர மண்டலக் கையாளுதல் இல்லாமல் நிகழ்வுகளைத் திட்டமிடுதல் போன்ற செயல்பாடுகள் எதிர்பாராத முடிவுகளைத் தரும்.

விண்டோஸ் 10 அர்ப்பணிக்கப்பட்ட வீடியோ நினைவகத்தை அதிகரிப்பது எப்படி

நீங்கள் க்ரோனோவுடன் நேர மண்டலங்களுக்கு இடையில் மாற்றலாம். மாற்றுவதற்கான ஒரு எடுத்துக்காட்டு இங்கே தேதி நேரம் ஒரு நேர மண்டலத்திலிருந்து மற்றொன்றுக்கு:

 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 ஐ உள்ளூர் நேர மண்டலமாக மாற்றுகிறது நேர மண்டலத்துடன் என்ற குறிப்பு எடுக்கும் முறை உள்ளூர் struct மற்றும் ரிட்டர்ன்ஸ் a தேதி நேரம் பொருள் அதே புள்ளியை குறிக்கும் ஆனால் உள்ளூர் நேர மண்டலத்தில் உள்ளது.

நீங்கள் அழைக்கும் போது மாற்ற_நேர மண்டலம் செயல்பாடு, இது கன்சோலில் UTC மற்றும் உள்ளூர் நேரத்தை அச்சிடும்.

  நியூயார்க் நேரத்தை அச்சிட்டதன் விளைவு

கூடுதலாக, க்ரோனோ பகல் சேமிப்பு நேரம் (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);
}

தி hand_dst செயல்பாடு தற்போதைய நேரத்தை அணுகுகிறது இப்போது முறை மற்றும் ஆஃப்செட் நேரத்தைக் கணக்கிடும் போது நியூயார்க்கில் உள்ள நேரத்தை மீட்டெடுக்கிறது FixedOffset ::கிழக்கு முறை.

அழைப்பதன் மூலம் நேர மண்டலத்துடன் செயல்பாடு, நீங்கள் UTC ஐ நியூயார்க் நேர மண்டலத்திற்கு மாற்றுகிறீர்கள். க்ரோனோ சரியான டிஎஸ்டியின்படி நேர சரிசெய்தல்களைக் கையாளுகிறது மற்றும் ஏ தேதி நேரம் பொருள்.

  நியூயார்க் நேரத்தை அச்சிட்டதன் விளைவு

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 ஐ உருவாக்கவும்.

ஒரு நிகழ்வை நீங்கள் எவ்வாறு மாற்றலாம் என்பது இங்கே சந்தித்தல் 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);
}

தி முக்கிய செயல்பாடு ஒரு உருவாக்குகிறது சந்தித்தல் பயன்படுத்துவதற்கு முன் புலங்களுக்கான தற்போதைய UTC உடன் உதாரணம் to_string கன்சோலுக்கு அச்சிடப்பட்ட JSON சரத்திற்கு ஸ்ட்ரக்ட் நிகழ்வை மாற்றுவதற்கான செயல்பாடு.

serde_json's மூலம் நீங்கள் JSON தேதி நேரத் தரவை struct வகையாக எளிதாக மாற்றலாம் இருந்து_str JSON சரத்தை எடுத்து ஒரு struct நிகழ்வை வழங்கும் செயல்பாடு.

 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 சரத்தை deserializes json மாறி சந்தித்தல் உதாரணம் சந்தித்தல் கன்சோலில் struct நிகழ்வை அச்சிடுவதற்கு முன் struct.

நீங்கள் துருவுடன் அதிநவீன பயன்பாடுகளை உருவாக்கலாம்

க்ரோனோவின் வலிமை, எளிமையான பயன்பாடு மற்றும் விரிவான செயல்பாடு ஆகியவை உங்கள் ஆப்ஸின் தேதிகள், நேரம், கால அளவு மற்றும் இடைவெளிகளைக் கையாளுவதற்கு ஒரு தவிர்க்க முடியாத கருவியாக அமைகிறது. க்ரோனோவின் திறன்களை மேம்படுத்துவதன் மூலம் துல்லியமான நேரக் கணக்கீடுகள், திறமையான திட்டமிடல் மற்றும் நம்பகமான தேதி தொடர்பான செயல்பாடுகளை நீங்கள் உறுதிசெய்யலாம்.

க்ரோனோவிற்கான ஒரு முக்கிய பயன்பாடு வலை பயன்பாடுகளை உருவாக்குவது ஆகும். செயல்பாட்டு நேர பதிவுகள், நேர பயனர் செயல்பாடு மற்றும் பிற இணைய செயல்பாடுகளுக்கு நீங்கள் Chrono ஐப் பயன்படுத்தலாம்.