*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> strftime (3)              
Title
Content
Arch
Section
 

STRFTIME(3)

Contents


NAME    [Toc]    [Back]

       strftime - format date and time

SYNOPSIS    [Toc]    [Back]

       #include <time.h>

       size_t strftime(char *s, size_t max, const char *format,
			   const struct tm *tm);

DESCRIPTION    [Toc]    [Back]

       The  strftime()	function  formats the broken-down time tm according to
       the format specification format and places the result in the  character
       array s of size max.

       Ordinary characters placed in the format string are copied to s without
       conversion.  Conversion specifiers are introduced by a  `%'  character,
       and are replaced in s as follows:

       %a     The abbreviated weekday name according to the current locale.

       %A     The full weekday name according to the current locale.

       %b     The abbreviated month name according to the current locale.

       %B     The full month name according to the current locale.

       %c     The  preferred  date  and  time  representation  for the current
	      locale.

       %C     The century number (year/100) as a 2-digit integer. (SU)

       %C     The century number (the year divided by  100  and  truncated  to
	      an integer).

       %d     The day of the month as a decimal number (range 01 to 31).

       %D     Equivalent  to %m/%d/%y. (Yecch - for Americans only.  Americans
	      should note that in other countries %d/%m/%y is  rather  common.
	      This  means that in international context this format is ambiguous
 and should not be used.) (SU)

       %e     Like %d, the day of the month as a decimal number, but a leading
	      zero is replaced by a space. (SU)

       %E     Modifier: use alternative format, see below. (SU)

       %G     The ISO 8601 year with century as a decimal number.  The 4-digit
	      year corresponding to the ISO week number (see  %V).   This  has
	      the  same  format  and  value as %y, except that if the ISO week
	      number belongs to the previous or next year, that year  is  used
	      instead. (TZ)

       %g     Like %G, but without century, i.e., with a 2-digit year (00-99).
	      (TZ)

       %h     Equivalent to %b. (SU)

       %H     The hour as a decimal number using a 24-hour clock (range 00  to
	      23).

       %I     The  hour as a decimal number using a 12-hour clock (range 01 to
	      12).

       %j     The day of the year as a decimal number (range 001 to 366).

       %k     The hour (24-hour clock) as a decimal number (range  0  to  23);
	      single digits are preceded by a blank. (See also %H.) (TZ)

       %l     The  hour  (12-hour  clock) as a decimal number (range 1 to 12);
	      single digits are preceded by a blank. (See also %I.) (TZ)

       %m     The month as a decimal number (range 01 to 12).

       %M     The minute as a decimal number (range 00 to 59).

       %n     A newline character. (SU)

       %O     Modifier: use alternative format, see below. (SU)

       %p     Either `AM' or `PM' according to the given time  value,  or  the
	      corresponding  strings  for the current locale.  Noon is treated
	      as `pm' and midnight as `am'.

       %P     Like %p but in lowercase: `am' or `pm' or a corresponding string
	      for the current locale. (GNU)

       %r     The  time in a.m. or p.m. notation.  In the POSIX locale this is
	      equivalent to `%I:%M:%S %p'. (SU)

       %R     The time in 24-hour notation (%H:%M). (SU) For a version including
 the seconds, see %T below.

       %s     The  number  of  seconds since the Epoch, i.e., since 1970-01-01
	      00:00:00 UTC. (TZ)

       %S     The second as a decimal number (range 00 to 61).

       %t     A tab character. (SU)

       %T     The time in 24-hour notation (%H:%M:%S). (SU)

       %u     The day of the week as a decimal, range 1 to 7, Monday being  1.
	      See also %w. (SU)

       %U     The  week  number of the current year as a decimal number, range
	      00 to 53, starting with the first Sunday as  the	first  day  of
	      week 01. See also %V and %W.

       %V     The  ISO	8601:1988 week number of the current year as a decimal
	      number, range 01 to 53, where week 1 is the first week that  has
	      at  least  4  days  in  the current year, and with Monday as the
	      first day of the week. See also %U and %W. (SU)

       %w     The day of the week as a decimal, range 0 to 6, Sunday being  0.
	      See also %u.

       %W     The  week  number of the current year as a decimal number, range
	      00 to 53, starting with the first Monday as  the	first  day  of
	      week 01.

       %x     The preferred date representation for the current locale without
	      the time.

       %X     The preferred time representation for the current locale without
	      the date.

       %y     The year as a decimal number without a century (range 00 to 99).

       %Y     The year as a decimal number including the century.

       %z     The time-zone  as  hour  offset  from  GMT.   Required  to  emit
	      RFC822-conformant  dates	(using	"%a,  %d  %b %Y %H:%M:%S %z").
	      (GNU)

       %Z     The time zone or name or abbreviation.

       %+     The date and time in date(1) format. (TZ)

       %%     A literal `%' character.

       Some conversion specifiers can be modified by preceding them by	the  E
       or  O  modifier	to indicate that an alternative format should be used.
       If the alternative format or specification does not exist for the  current
  locale,  the  behaviour  will  be as if the unmodified conversion
       specification were used. (SU) The Single  Unix  Specification  mentions
       %Ec,  %EC,  %Ex, %EX, %Ry, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou,
       %OU, %OV, %Ow, %OW, %Oy, where the effect of the O modifier is  to  use
       alternative  numeric  symbols  (say, roman numerals), and that of the E
       modifier is to use a locale-dependent alternative representation.

       The broken-down time structure tm is defined  in  <time.h>.   See  also
       ctime(3).

RETURN VALUE    [Toc]    [Back]

       The  strftime() function returns the number of characters placed in the
       array s, not including the  terminating	NUL  character,  provided  the
       string,	including the terminating NUL, fits.  Otherwise, it returns 0,
       and the contents of the array is undefined.  (Thus at least since  libc
       4.4.4;  very old versions of libc, such as libc 4.4.1, would return max
       if the array was too small.)

       Note that the return value 0 does not necessarily  indicate  an	error;
       for example, in many locales %p yields an empty string.

ENVIRONMENT    [Toc]    [Back]

       The environment variables TZ and LC_TIME are used.

CONFORMING TO    [Toc]    [Back]

       ANSI  C, SVID 3, ISO 9899.  There are strict inclusions between the set
       of conversions given in ANSI C (unmarked), those given  in  the	Single
       Unix Specification (marked SU), those given in Olson's timezone package
       (marked TZ), and those given in glibc (marked GNU), except that	%+  is
       not  supported  in  glibc2.  On	the other hand glibc2 has several more
       extensions.  POSIX.1 only refers to ANSI  C;  POSIX.2  describes  under
       date(1) several extensions that could apply to strftime as well.

SEE ALSO    [Toc]    [Back]

      
      
       date(1), time(2), ctime(3), setlocale(3), sprintf(3)



GNU				  1999-03-29			   STRFTIME(3)
[ Back ]
 Similar pages
Name OS Title
822-date Linux Print date and time in RFC822 format
getdate IRIX convert user format date and time
gettimeofday Tru64 Gets and sets date and time and converts time between timeval and timeval64
gettimeofday64 Tru64 Gets and sets date and time and converts time between timeval and timeval64
settimeofday64 Tru64 Gets and sets date and time and converts time between timeval and timeval64
settimeofday Tru64 Gets and sets date and time and converts time between timeval and timeval64
TIMEVAL64TO32 Tru64 Gets and sets date and time and converts time between timeval and timeval64
TIMEVAL32TO64 Tru64 Gets and sets date and time and converts time between timeval and timeval64
ftime Tru64 Gets and sets date and time and converts time between timeval and timeval64
ntp_gettime Tru64 Get the date, time, and kernel time error values
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service