Skip to content
Related Articles

Related Articles

Improve Article
PHP | strftime() Function
  • Last Updated : 20 Aug, 2020

The strftime() function is an inbuilt function in PHP that formats local time or date according to locale settings i.e. it formats local time or date for location set for it of a place.

Syntax:

strftime( $format, $timestamp ) 

Parameters: This function accept two parameters as mentioned above and described below:

  • $format: This parameter defines the format for the date and time it is a must required parameter.
  • $timestamp: The optional timestamp parameter is an integer Unix timestamp that defaults to the current local time if a timestamp is not given. In other words, it defaults to the value of time().

Return Values: It returns a string formatted to $format using the given $timestamp(if mentioned explicitly, otherwise takes default time). Month and weekday names and other language-dependent strings respect the current locale set with setlocale().

Example:






<?php
  
// This program prints the current day 
setlocale(LC_TIME, "C");
echo strftime("%A");
?>

Output:

Thursday

Format: Following are the values that can be added to $format for a desired output.

  • Hour formating:
    FORMATDESCRIPTIONEXAMPLE
    %HTwo digit representation of the hour in 24-hour format it’s like train timing format.00 through 23
    %kHour in 24-hour format, with a space preceding single digits0 through 23
    %ITwo digit representation of the hour in 12-hour format01 through 12
    %l12-hour format representation, with a space preceding single digits.1,2,3,.,12
    %MTwo digit representation of the minute00 to 59
    %pUPPER-CASE ‘AM’ or ‘PM’ based on the given time, 11:59 after will AM before will AM.AM for 00:31, PM for 22:23
    %Plower-case ‘am’ or ‘pm’ based on the given time, 11:59 after will pm before will am.am for 00:31, pm for 22:23
    %rSame as “%I:%M:%S %p”02:22:22 PM for 14:22:22
    %RSame as “%H:%M”00:44 for 12:44 AM, 17:45for 5:45PM
    %SIt,s two digit representation of seconds.00 to 59
    %TSame as “%H:%M:%S”20:24:37 for 08:24:37 PM
    %XIt represent preferred time representation without the date, based on locale.04:44:16 or 16:44:16
    %zThe time zone offset. Not implemented as described on Windows. See below for more information.0500 for US Eastern Time
    %ZIt represent time zone by reducing in 2 or three character.EST for Eastern Time
  • Time and Date stamps formating:
    FORMATDESCRIPTIONEXAMPLE
    %cPreferred date and time stamp based on locale.Tue Jan 5 00:55:25 2009 for January 5, 2009 at 12:55:25 AM
    %DSame as “%m/%d/%y”01/05/09 for January 5, 2009
    %FSame as “%Y-%m-%d” used in database datestamps.2009-01-05 for January 5, 2009
    %sUnix Epoch Time timestamp same as the time() function.1525376494 for February 27, 2020 04:50:00 PM
    %xPreferred date representation without the time based on locale.01/05/09 for january5, 2009
  • Day formating:
    FORMATDESCRIPTIONEXAMPLE
    %aIt reduced the textual representation of the day name.Sun,Mon, …
    %AIt’s the textual representation of the full day name.Sunday,Monday,..
    %dIt represent the day in double digits even day one repersent like 01.01 to 31.
    %eIt represent the day in single digits but day ten of the month present like 10.1 to 31.
    %jIt represent the year in triple digits even day one repersent like 001.001 to 366.
    %uISO-8601 numeric representation of the day of the week.1 for Monday to 7 for Sunday.
    %wIt is the numeric representation of the day of the week count start from 0.0 for Sunday to 6 for Saturday.
  • Week formating:
    FORMATDESCRIPTIONEXAMPLE
    %UNumber of week in the given year, starting from first Sunday as the first week13 there are 13th full week of the year,
    %VISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week01 to 53 where 53 accounts for an overlapping week.
    %WIt is numeric representation of week of the year, starting from first Monday as the first week like %U.46, 46th week of the year beginning with a Monday.
  • Month formating:
    FORMATDESCRIPTIONEXAMPLE
    %bIt reduced the textual representation of the month name based on the locale.Jan, Feb, …
    %BIt’s the textual representation of the full month name based on the locale.January, February, ..
    %hIt reduced the textual representation of the month name based on the locale (an alias of %b).Jan, Feb, ..
    %mIt represent the day in double digits even month one repersent like 01.01 for January, 02 for February and so on.
  • Year formating:
    FORMATDESCRIPTIONEXAMPLE
    %CIt represent the century in double digits (year divided by 100, truncated to an integer).19 for the 20th Century
    %gIt represent the year in double digits by ISO-8601:1988 standards (see %V)09 for the week of January 6, 2009
    %GIt is the full four-digit version of %g.2008 for the week of January 3, 2009
    %yIt is the two digit representation of the year.09 for 2009, 79 for 1979
    %YFour digit representation for the year2038
  • Miscellaneous formating:
    FORMATDESCRIPTION
    %nIt is a newline character (“\n”)
    %tIt is a tab character (“\t”)
    %%It is a literal percentage character (“%”)

Below examples illustrate the application of strftime() in php:
Example 1 : A simple program to display the date and time provided to it.




<?php
  
// Displays the date 
echo strftime("%d, %B, %Y", strtotime("01/03/2004"));
  
// Displays the time
echo strftime("   %I:%M  %p", strtotime("21:34"));
?>

Output:

03, January, 2004 09:34 PM

Example 2: This example display the time at a specific region (an additional function, setlocale() is employed for this. For setlocale() to work, locales should be supported by your server.)




<?php
  
// Setting locale to german
setlocale(LC_ALL, "de");
echo strftime("The current german time is %r");
  
// Setting locale to english 
setlocale(LC_ALL, "en");
echo strftime(" and the current english time is %r");
?>

Output:

The current german time is 22:14:20 and the current english time is 10:14:20 PM

Reference: https://www.php.net/manual/en/function.strftime.php




My Personal Notes arrow_drop_up
Recommended Articles
Page :