1. Time () gets the current time
Time_t timer;
Time (& timer );
Equivalent to timer = Time (null); or timer = time (0 );
It can be used to generate random numbers.
Srand (unsigned) time (0 ));
2. localtime () converts a timestamp into the format of year, month, and day
3. ctime () converts a timestamp to a string expressed by year, month, and day.
char* ctime (const time_t * timer);
Struct TM * date; time_t now; time (& now); Date = localtime (& now); // ctime () demo char * datestr; datestr = ctime (& now ); // mktime demo time_t restm = mktime (date); // strftimecout <now <Endl; cout <date-> tm_year <"" <date-> tm_mon <"" <date-> tm_mday <Endl; cout <datestr <Endl; cout <restm <Endl;
4 differtime returns the time (in seconds)
double difftime (time_t end, time_t beginning);
5 strftime ()
size_t strftime (char* ptr, size_t maxsize, const char* format, const struct tm* timeptr );
Format and display the time pointed by timeptr in pstr.
Specifier |
Replaced |
Example |
%a |
Abbreviated weekday name * |
Thu |
%A |
Full weekday name * |
Thursday |
%b |
Abbreviated month name * |
Aug |
%B |
Full month name * |
August |
%c |
Date and Time Representation * |
Thu Aug 23 14:55:02 2001 |
%C |
Year divided by 100 and truncated to INTEGER (00-99 ) |
20 |
%d |
Day of the month, zero-padded (01-31 ) |
23 |
%D |
ShortMM/DD/YY Date, equivalent%m/%d/%y |
08/23/01 |
%e |
Day of the month, space-padded ( 1-31 ) |
23 |
%F |
ShortYYYY-MM-DD Date, equivalent%Y-%m-%d |
2001-08-23 |
%g |
Week-based year, last two digits (00-99 ) |
01 |
%G |
Week-based year |
2001 |
%h |
Abbreviated month name * (same%b ) |
Aug |
%H |
Hour in 24 h format (00-23 ) |
14 |
%I |
Hour in 12 h format (01-12 ) |
02 |
%j |
Day of the year (001-366 ) |
235 |
%m |
Month as a decimal number (01-12 ) |
08 |
%M |
Minute (00-59 ) |
55 |
%n |
New-line character ('\n' ) |
|
%p |
AM or PM designation |
PM |
%r |
12-hour clock time * |
02:55:02 pm |
%R |
24-hourHH:MM Time, equivalent%H:%M |
14:55 |
%S |
Second (00-61 ) |
02 |
%t |
Horizontal-Tab character ('\t' ) |
|
%T |
ISO 8601 time format (HH:MM:SS ), Equivalent%H:%M:%S |
14:55:02 |
%u |
ISO 8601 weekday as number with Monday1 (1-7 ) |
4 |
%U |
Week number with the first Sunday as the first day of week one (00-53 ) |
33 |
%V |
ISO 8601 week number (00-53 ) |
34 |
%w |
Weekday as a decimal number with Sunday0 (0-6 ) |
4 |
%W |
Week number with the first Monday as the first day of week one (00-53 ) |
34 |
%x |
Date representation * |
08/23/01 |
%X |
Time Representation * |
14:55:02 |
%y |
Year, last two digits (00-99 ) |
01 |
%Y |
Year |
2001 |
%z |
ISO 8601 offset from UTC in timezone (1 minute = 1, 1 hour = 100) If timezone cannot be termined, no characters |
+100 |
%Z |
Timezone name or abbreviation * If timezone cannot be termined, no characters |
CDT |
%% |
A% Sign |
% |
* The specifiers marked with an asterisk (*) are locale-dependent.
Note: yellow rows indicate specifiers and sub-specifiers introduced by c99. since c99, two locale-specific
Modifiers can also be inserted between the percentage sign (%
) And the specifier proper to request an alternative format, where applicable:
Modifier |
Meaning |
Applies |
E |
Uses the locale's alternative representation |
%Ec %EC %Ex %EX %Ey %EY |
O |
Uses the locale's alternative numeric symbols |
%Od %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy |