GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::asctime(3) C++ Standard Libary std::asctime(3)

std::asctime - std::asctime


Defined in header <ctime>
char* asctime( const std::tm* time_ptr );


Converts given calendar time std::tm to a textual representation of the following
fixed 25-character form: Www Mmm dd hh:mm:ss yyyy\n


* Www - three-letter English abbreviated day of the week from time_ptr->tm_wday,
one of Mon, Tue, Wed, Thu, Fri, Sat, Sun.
* Mmm - three-letter English abbreviated month name from time_ptr->tm_mon, one of
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.
* dd - 2-digit day of the month from timeptr->tm_mday as if printed by sprintf
using %2d
* hh - 2-digit hour from timeptr->tm_hour as if printed by sprintf using %.2d
* mm - 2-digit minute from timeptr->tm_min as if printed by sprintf using %.2d
* ss - 2-digit second from timeptr->tm_sec as if printed by sprintf using %.2d
* yyyy - 4-digit year from timeptr->tm_year + 1900 as if printed by sprintf using
%4d


The behavior is undefined if any member of *time_ptr is outside its normal range


The behavior is undefined if the calendar year indicated by time_ptr->tm_year has
more than 4 digits or is less than the year 1000.


The function does not support localization, and the newline character cannot be
removed.


The function modifies static storage and is not thread-safe.


time_ptr - pointer to a std::tm object specifying the time to print


Pointer to a static null-terminated character string holding the textual
representation of date and time. The string may be shared between std::asctime and
std::ctime, and may be overwritten on each invocation of any of those functions.


This function returns a pointer to static data and is not thread-safe. POSIX marks
this function obsolete and recommends locale-dependent std::strftime instead. In
std::locale("C") the std::strftime format string "%c\n" will be an exact match to
std::asctime output, while in other locales the format string "%a %b %e %H:%M:%S
%Y\n" will be a potentially closer but not always exact match.


POSIX limits undefined behaviors only to the cases when the output string would be
longer than 25 characters, when timeptr->tm_wday or timeptr->tm_mon are not within
the expected ranges, or when timeptr->tm_year exceeds INT_MAX-1990.


Some implementations handle timeptr->tm_mday==0 as meaning the last day of the
preceding month.

// Run this code


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


int main()
{
const std::time_t now = std::time(nullptr);


for (const char *localeName : {"C", "en_US.utf8", "de_DE.utf8", "ja_JP.utf8" }) {
std::cout << "locale " << localeName << ":" "\n" << std::left;
std::locale::global(std::locale(localeName));


std::cout << std::setw(40) << " asctime" << std::asctime(std::localtime(&now));


// strftime output for comparison:
char buf[64];
if (strftime(buf, sizeof buf, "%c\n", std::localtime(&now))) {
std::cout << std::setw(40) << " strftime %c" << buf;
}


if (strftime(buf, sizeof buf, "%a %b %e %H:%M:%S %Y\n", std::localtime(&now))) {
std::cout << std::setw(40) << " strftime %a %b %e %H:%M:%S %Y" << buf;
}


std::cout << '\n';
}
}


locale C:
asctime Wed Nov 4 00:45:01 2020
strftime %c Wed Nov 4 00:45:01 2020
strftime %a %b %e %H:%M:%S %Y Wed Nov 4 00:45:01 2020


locale en_US.utf8:
asctime Wed Nov 4 00:45:01 2020
strftime %c Wed 04 Nov 2020 12:45:01 AM UTC
strftime %a %b %e %H:%M:%S %Y Wed Nov 4 00:45:01 2020


locale de_DE.utf8:
asctime Wed Nov 4 00:45:01 2020
strftime %c Mi 04 Nov 2020 00:45:01 UTC
strftime %a %b %e %H:%M:%S %Y Mi Nov 4 00:45:01 2020


locale ja_JP.utf8:
asctime Wed Nov 4 00:45:01 2020
strftime %c 2020年11月04日 00時45分01秒
strftime %a %b %e %H:%M:%S %Y 水 11月 4 00:45:01 2020


ctime converts a std::time_t object to a textual representation
(function)
strftime converts a std::tm object to custom textual representation
(function)
put_time formats and outputs a date/time value according to the specified format
(C++11) (function template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.