strftime functions formats a time
Syntax
C strftime function has the following syntax.
size_t strftime(char *str, size_t maxsize, const char *fmt, const struct tm *time);
Header
C strftime function is from header file time.h.
Description
C strftime function formats time and date into a string.
The strftime()
function works a little like sprintf()
.
The strftime()
function returns the number of characters
stored in the string pointed to by str or zero if an error occurs.
Format
Command | Replaced By |
---|---|
%a | Abbreviated weekday name |
%A | Full weekday name |
%b | Abbreviated month name |
%B | Full month name |
%c | Standard date and time string |
%C | Last two digits of year |
%d | Day of month as a decimal (1-31) |
%D | month/day/year (added by C99) |
%e | Day of month as a decimal (1-31) in a two-character field (added by C99) |
%F | year-month-day (added by C99) |
%g | Last two digits of year using a week-based year (added by C99) |
%G | The year using a week-based year (added by C99) |
%h | Abbreviated month name (added by C99) |
%H | Hour (0-23) |
%I | Hour (1-12) |
%j | Day of year as a decimal (1-366) |
%m | Month as decimal (1-12) |
%M | Minute as decimal (0-59) |
%n | A newline (added by C99) |
%p | Locale's equivalent of AM or PM |
%r | 12-hour time (added by C99) |
%R | hh:mm (added by C99) |
%S | Second as decimal (0-60) |
%t | Horizontal tab (added by C99) |
%T | hh:mm:ss (added by C99) |
%u | Day of week; Monday is first day of week (0-53) (added by C99) |
%U | Week of year, Sunday being first day (0-53) |
%V | Week of year using a week-based year (added by C99) |
%w | Weekday as a decimal (0-6, Sunday being 0) |
%W | Week of year, Monday being first day (0-53) |
%x | Standard date string |
%X | Standard time string |
%y | Year in decimal without century (0-99) |
%Y | Year including century as decimal |
%z | Offset from UTC (added by C99) |
%Z | Time zone name |
%% | The percent sign |
The E can modify c, C, x, X, y, Y, d, e, and H. The O can modify I, m, M, S, u, U, V, w, W, and y.
A week-based year is used by the %g, %G, and %V format commands. With this representation, Monday is the first day of the week, and the first week of a year must include January 4.
Example
Use C strftime function to format a time value.
#include <time.h>
#include <stdio.h>
/* www. j a va 2 s. c o m*/
int main(void)
{
struct tm *ptr;
time_t lt;
char str[80];
lt = time(NULL);
ptr = localtime(<);
strftime(str, 100, "It is now %H %p.", ptr);
printf(str);
return 0;
}
The code above generates the following result.