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);

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
%aAbbreviated weekday name
%AFull weekday name
%bAbbreviated month name
%BFull month name
%cStandard date and time string
%CLast two digits of year
%dDay of month as a decimal (1-31)
%Dmonth/day/year (added by C99)
%eDay of month as a decimal (1-31) in a two-character field (added by C99)
%Fyear-month-day (added by C99)
%gLast two digits of year using a week-based year (added by C99)
%GThe year using a week-based year (added by C99)
%hAbbreviated month name (added by C99)
%HHour (0-23)
%IHour (1-12)
%jDay of year as a decimal (1-366)
%mMonth as decimal (1-12)
%MMinute as decimal (0-59)
%nA newline (added by C99)
%pLocale's equivalent of AM or PM
%r12-hour time (added by C99)
%Rhh:mm (added by C99)
%SSecond as decimal (0-60)
%tHorizontal tab (added by C99)
%Thh:mm:ss (added by C99)
%uDay of week; Monday is first day of week (0-53) (added by C99)
%UWeek of year, Sunday being first day (0-53)
%VWeek of year using a week-based year (added by C99)
%wWeekday as a decimal (0-6, Sunday being 0)
%WWeek of year, Monday being first day (0-53)
%xStandard date string
%XStandard time string
%yYear in decimal without century (0-99)
%YYear including century as decimal
%zOffset from UTC (added by C99)
%ZTime 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(&lt);

  strftime(str, 100, "It is now %H %p.", ptr);
  printf(str);

  return 0;
}

The code above generates the following result.





















Home »
  C Language »
    Function Reference »




assert.h
ctype.h
math.h
setjmp.h
signal.h
stdio.h
stdlib.h
string.h
time.h
wctype.h