Päivämäärän muuntaminen merkkijonoksi

C++:
Päivämäärän muuntaminen merkkijonoksi

How to: - Kuinka:

#include <iostream>
#include <iomanip>
#include <sstream>
#include <ctime>

int main() {
    std::time_t raw_time = std::time(nullptr);  // Haetaan nykyinen aika
    std::tm* time_info = std::localtime(&raw_time);

    std::stringstream ss;
    ss << std::put_time(time_info, "%d.%m.%Y %H:%M:%S"); // Suomalainen päivämäärämuoto

    std::string date_as_string = ss.str();  // Muunnos merkkijonoksi
    std::cout << "Päivämäärä merkkijonona: " << date_as_string << std::endl; // Tulostus

    return 0;
}

// Esimerkkituloste:
// Päivämäärä merkkijonona: 03.04.2023 14:52:01

Deep Dive - Syväsukellus:

Alkuperäisessä C:ssä ja C++:n alkuajoissa päivämäärät käsiteltiin time_t-tyyppisten muuttujien ja strftime-funktion avulla. strftime on edelleen käytettävissä, mutta C++ tarjoaa std::put_time, joka integroituu suoraan iostream-kirjastoon paremman tyyppiturvallisuuden ja helpomman käytön vuoksi.

Vaihtoehtona std::put_time:lle, voit käyttää vanhempaa C-tyylistä strftime-funktiota tai kolmannen osapuolen kirjastoja, kuten boost::date_time.

Merkkijonomuunnoksen ymmärtäminen vaatii tietoa ajan käsittelystä C++-standardikirjastossa, joka on kehittynyt vuosien varrella. Käytännössä time_t, tm, ja string-streamit ovat avainkomponentteja tähän prosessiin. Muista ottaa huomioon aikavyöhykkeet ja lokalisoinnit käsitellessäsi päivämääriä.

See Also - Katso Myös: