strptime


php apg

PARSES a time or date generated by strftime.

Should always be preceded by the setlocale function


This function is not implemented on Windows™ platforms



<?php

arr strptime 
str $date str $format )


where,

$date The STRING to parse

$format 
The format used in the date

?>

 $date 


The time or date STRING generated by the function strftime to be parsed.



 $format 

RECOGNIZED CHARACTERS
format Description Example returned values
Day
%a An abbreviated textual representation of the day Sun through Sat
%A A full textual representation of the day Sunday through Saturday
%d Two-digit day of the month (with leading zeros) 01 to 31
%e Day of the month, with a space preceding single digits.
Not implemented as described on Windows.
* See below for more information.
1 to 31
%j Day of the year, 3 digits with leading zeros 001 to 366
%u ISO-8601 numeric representation of the day of the week 1 => Monday
through
7 => Sunday
%w Numeric representation of the day of the week 0 => Sunday
through
6 => Saturday
Week
%U Week number of the given year, starting with the first Sunday as the first week 42
(the 42nd full week of the year)
%V ISO-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 week
01 through 53
(where 53 accounts for an overlapping week)
%W A numeric representation of the week of the year, starting with the first Monday as the first week 46
(for the 46th week of the year beginning with a Monday)
Month
%b Abbreviated month name, based on the locale Jan through Dec
%B Full month name, based on the locale January through December
%h Abbreviated month name, based on the locale
(an alias of %b)
Jan through Dec
%m Two digit representation of the month 01 through 12
Year
%C Two digit representation of the century
(year divided by 100, truncated to an integer)
19 for the 20th Century
%g Two digit representation of the year going by
ISO-8601:1988 standards
(see %V)
09 for the week of January 6, 2009
%G The full four-digit version of %g 2008 for the week of January 3, 2009
%y Two digit representation for the year 99 or 18
%Y Four digit representation for the year 1999 or 2018
Time
%H Two digit representation of the hour in 24-hour format 00 through 23
%k Hour in 24-hour format, with a space preceding single digits 0 through 23
%I Two digit representation of the hour in 12-hour format 01 through 12
%l Hour in 12-hour format, with a space preceding single digits 1 through 12
%M Two digit representation of the minute 00 through 59
%p UPPER-CASE 'AM' or 'PM' based on the given time AM for 00:31, PM for 22:23
%P lower-case 'am' or 'pm' based on the given time am for 00:31, pm for 22:23
%r Same as "%I:%M:%S %p" 09:34:17 PM for 21:34:17
%R Same as "%H:%M" 00:35 for 12:35 AM, 16:44 for 4:44 PM
%S Two digit representation of the second 00 through 59
%T Same as "%H:%M:%S" 21:34:17 for 09:34:17 PM
%X Preferred time representation based on locale, without the date 03:59:16 or 15:59:16
%z The time zone offset.
Not implemented as described on Windows.
See below for more information.
-0500 for US Eastern Time
%Z The time zone abbreviation.
Not implemented as described on Windows.
See below for more information.
EST for Eastern Time
Time and Date Stamps
%c Preferred date and time stamp based on locale Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM
%D Same as "%m/%d/%y" 02/05/09 for February 5, 2009
%F Same as "%Y-%m-%d"
(commonly used in database datestamps)
2009-02-05 for February 5, 2009
%s Unix Epoch Time timestamp
(same as the time function)
305815200 for September 10, 1979 08:40:00 AM
%x Preferred date representation based on locale, without the time 02/05/09 for February 5, 2009
Miscellaneous
%n A newline character ("\n")
%t A Tab character ("\t")
%% A literal percentage character ("%")
ed48


 ARRAY INDEXES for strptime 

KEY DESCRIPTION EXAMPLE RETURNED
tm_sec Numeric representation of seconds 0 to 59
tm_min Numeric representation of minutes 0 to 59
tm_hour Numeric representation of hours 0 to 23
tm_mday Numeric representation of the day of the month 1 to 31
tm_wday Numeric representation of the day of the week 0 for Sunday... 6 for Saturday
tm_mon Numeric representation of a month 0 for January to 11 for December
tm_year Value to be added to 1900 The year
tm_yday Numeric representation of the day of the year 0 to 365
umparsed The date part which was not recognized using the specified format  
ed48

tm_sec includes any leap seconds, (currently upto 2 a year).
For more information on leap second:
Wikipedia...on leap seconds !




The $format used in $date, (e.g. the same as used in strftime).

Note that some of the $format options available to strftime may not have any effect within strptime; the exact subset that are supported will vary based on the operating system and C library in use.

Internally, this function calls the strptime function provided by the system's C library.

This function can exhibit noticeably different behaviour across different operating systems.

The use of date_parse_from_format, which does not suffer from these issues, is recommended on PHP 5.3.0 and later.

This function return an ARRAY with the $date parsed, or FALSE on ERROR.



  1 EXERCISE   

<?php

$lang 
'en';

if(
function_exists('strptime'))
{

date_default_timezone_set('Europe/Lisbon');
$tz_PT date_default_timezone_get();
$lc_PT '"pt_PT.utf-8"';

setlocale(LC_ALL"pt_PT.utf-8");

$nw_strf "( %A ) %B, %d %Y %Hh %Mmin %Ss";

$nw_strftm strftime("$nw_strf"time());

echo 
$tz_PT '<br><br>' $lc_PT '<br><br>';

echo 
$nw_strftm '<br><br><pre>';

print_r(strptime($nw_strftm"$nw_strf"));

echo 
'</pre>';

}
else
{
$pt 'Função não definida neste ambiente!<br><br>';
$en 'Function not defined in this environment!<br><br>';
$es 'Función no implementada en esta plataforma!<br><br>';
echo $
$lang;
}

?>

  2 EXERCISE   

<?php

$lang 
'en';

if(
function_exists('strptime'))
{

date_default_timezone_set('Europe/Lisbon');
$tz_PT date_default_timezone_get();
$lc_PT '"pt_PT.utf-8"';

setlocale(LC_ALL"pt_PT.utf-8");

$nw_strf "( %A ) %B, %d %Y %Hh %Mmin %Ss";

$nw_strftm strftime("$nw_strf"time());

echo 
$tz_PT '<br><br>' $lc_PT '<br><br>';

echo 
$nw_strftm '<br><br><pre>';

print_r(strptime($nw_strftm"$nw_strf"));

echo 
'</pre>';

}
else
{
$pt 'Função não definida neste ambiente!<br><br>';
$en 'Function not defined in this environment!<br><br>';
$es 'Función no implementada en esta plataforma!<br><br>';
echo $
$lang;
}

?>

  3 EXERCISE   

<?php

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   
   REMEMBER:
 
   This function is not implemented 
   on Windows™ environment 
   
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

$lang 'jp';

if(
function_exists('strptime'))
{

date_default_timezone_set('Asia/Tokyo');
$tz_PT date_default_timezone_get();
$lc_PT '"ja", "ja_JP"';

setlocale(LC_ALL"en""en_US");

$nw_strf "( %A ) %B, %d %Y %Hh %Mmin %Ss";

$nw_strftm strftime("$nw_strf"time());

echo 
$tz_PT '<br><br>' $lc_PT '<br><br>';

echo 
$nw_strftm '<br><br><pre>';

print_r(strptime($nw_strftm"$nw_strf"));

echo 
'</pre>';

}
else
{
$pt 'Função não definida neste ambiente!<br><br>';
$en 'Function not defined in this environment!<br><br>';
$es 'Función no implementada en esta plataforma!<br><br>';
$jp 'この環境では機能が設定されていません!<br><br>';
echo $
$lang;
}

?>