note 62180 added to function.strtotime

From: Date: Wed, 22 Feb 2006 00:16:01 +0000
Subject: note 62180 added to function.strtotime
Groups: php.notes 
Request: Send a blank email to php-notes+get-104174@lists.php.net to get a copy of this message
To parse UK format of date, just call parseDate( "10/2/2006", "%d/%m/%Y" ) #-----------------------------------------------# # Purpose : Returns a timestamp from a string based on the given format and default timezone if it's ambiguous. # # Supported formats # # %Y - year as a decimal number including the century # %m - month as a decimal number (range 01 to 12) # %d - day of the month as a decimal number (range 01 to 31) # # %H - hour as a decimal number using a 24-hour clock (range 00 to 23) # %M - minute as a decimal number # function parseDate( $date, $format ) { // Builds up date pattern from the given $format, keeping delimiters in place. if( !preg_match_all( "/%([YmdHMp])([^%])*/", $format, $formatTokens, PREG_SET_ORDER ) ) { return false; } foreach( $formatTokens as $formatToken ) { $delimiter = preg_quote( $formatToken[2], "/" ); $datePattern .= "(.*)".$delimiter; } // Splits up the given $date if( !preg_match( "/".$datePattern."/", $date, $dateTokens) ) { return false; } $dateSegments = array(); for($i = 0; $i < count($formatTokens); $i++) { $dateSegments[$formatTokens[$i][1]] = $dateTokens[$i+1]; } // Reformats the given $date into US English date format, suitable for strtotime() if( $dateSegments["Y"] && $dateSegments["m"] && $dateSegments["d"] ) { $dateReformated = $dateSegments["Y"]."-".$dateSegments["m"]."-".$dateSegments["d"]; } else { return false; } if( $dateSegments["H"] && $dateSegments["M"] ) { $dateReformated .= " ".$dateSegments["H"].":".$dateSegments["M"]; } return strtotime( $dateReformated ); } ---- Server IP: 85.116.0.130 Probable Submitter: 195.7.246.198 ---- Manual Page -- http://www.php.net/manual/en/function.strtotime.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+62180 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+62180&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+62180&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#104174) next »