note 83353 modified in function.date by danbrown

From: Date: Sun, 20 Jul 2008 02:44:18 +0000
Subject: note 83353 modified in function.date by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-141981@lists.php.net to get a copy of this message
The function below extracts any date time value basead in the string format. Returns an associative array with day,month,year,hour,min and seg separated. <?php function ExtractDateTimeByFormat($strDateTime, $strFormat="dmYHis") { //extract the format $i = 0; $aFieldOrder = array(); $nFields = 0; $strExtraction = ""; while(isset($strFormat[$i])) { $strField = $strFormat[$i]; switch ( strtolower($strField) ) { case "D"; case "d"; $aFieldOrder[$nFields] = "d"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "M"; case "m"; $aFieldOrder[$nFields] = "m"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "y"; case "Y"; $aFieldOrder[$nFields] = "y"; $nFields++; $strExtraction .= "%4d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "h"; case "H"; $aFieldOrder[$nFields] = "h"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "i"; $aFieldOrder[$nFields] = "i"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "S"; case "s"; $aFieldOrder[$nFields] = "s"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; } $i++; } $aValues = array(); $aValues = sscanf($strDateTime,$strExtraction); return array_combine($aFieldOrder,$aValues); } ?> --was-- The function below extracts any date time value basead in the string format. Returns an associative array with day,month,year,hour,min and seg separated. function ExtractDateTimeByFormat($strDateTime, $strFormat="dmYHis") { //extract the format $i = 0; $aFieldOrder = array(); $nFields = 0; $strExtraction = ""; while(isset($strFormat[$i])) { $strField = $strFormat[$i]; switch ( strtolower($strField) ) { case "D"; case "d"; $aFieldOrder[$nFields] = "d"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "M"; case "m"; $aFieldOrder[$nFields] = "m"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "y"; case "Y"; $aFieldOrder[$nFields] = "y"; $nFields++; $strExtraction .= "%4d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "h"; case "H"; $aFieldOrder[$nFields] = "h"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "i"; $aFieldOrder[$nFields] = "i"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; case "S"; case "s"; $aFieldOrder[$nFields] = "s"; $nFields++; $strExtraction .= "%d"; if(isset($strFormat[$i+1])) { $strExtraction .= "%*1c"; } break; } $i++; } $aValues = array(); $aValues = sscanf($strDateTime,$strExtraction); return array_combine($aFieldOrder,$aValues); } http://php.net/manual/en/function.date.php

« previous php.notes (#141981) next »