// Consultalocaltime.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include #include #include #include std::string myasctime(const struct tm *timeptr); int main() { std::cout << "Consulta sobre localtime y asctime" << std::endl; time_t rawtime; time(&rawtime); struct tm timeinfo; // from https://en.cppreference.com/w/c/chrono/localtime // from https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/localtime-s-localtime32-s-localtime64-s?view=vs-2019 localtime_s(&timeinfo, &rawtime); // from https://en.cppreference.com/w/c/chrono/asctime // from https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/asctime-s-wasctime-s?view=vs-2019 char str[26]; asctime_s(str, sizeof str, &timeinfo); printf ( "The current date/time is: %s", str); // using special function std::cout << "The current date/time is: " << myasctime(&timeinfo) << std::endl; return 0; } std::string myasctime(const struct tm *timeptr) { static const std::string wday_name[] = { "Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab" }; static const std::string mon_name[] = { "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" }; std::string out; out = wday_name[timeptr->tm_wday] + " " \ + mon_name[timeptr->tm_mon] + " " \ + std::to_string(timeptr->tm_mday) + " " \ + std::to_string(timeptr->tm_hour) + ":" \ + std::to_string(timeptr->tm_min) + ":" \ + std::to_string(timeptr->tm_sec) + ":" \ + std::to_string(1900 + timeptr->tm_year); return out; }