note 74366 added to function.strtotime
| From: | PHP dot SU at osu1 dot php dot net | Date: | Sat, 07 Apr 2007 17:29:40 +0000 |
| Subject: | note 74366 added to function.strtotime | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-125178@lists.php.net to get a copy of this message | ||
strtotime() function use GNU format.
You can convert date to unix timestamp by using all date formats!
Use follow parse_date() function:
<?php
function convert_date($date, $replace_separator = FALSE)
{
$days = '0?[1-9]|[12][0-9]|3[01]';
$months= '0?[1-9]|1[0-2]';
$year = '\d{2}|\d{4}';
$non_alpha = '[^0-9a-zA-Z]+';
return preg_replace( "/^\s*($days)($non_alpha)($months)($non_alpha)($year)/",
$replace_separator === FALSE ? '$3$2$1$4$5' :
'$3'.$replace_separator.'$1'.$replace_separator.'$5', $date);
}
function parse_date($date)
{
$date = str_replace("-", "/", $date);
$date = str_replace(".", "/", $date);
$predate = date("d.m.Y", strtotime(convert_date($date, '/')));
$reformatted = preg_replace("/^\s*([0-9]{1,2})[\/\. -]+([0-9]{1,2})[\/\.
-]+([0-9]{1,4})/", "\\2/\\1/\\3", $predate);
$rt_time = strtotime($reformatted);
if ($rt_time<=0) return 0;
else return $rt_time;
}
?>
Example:
<?php
echo parse_date("26.01.1993");
echo parse_date("01-26-1993");
echo parse_date("26-01-1993");
echo parse_date("26/01/1993");
echo parse_date("1993-01-26");
echo parse_date("01/26/1993");
// all will take unix timestamp: 727988400
// very good!
?>
Use parse_date() and forget your troubles ;-)
----
Server IP: 69.147.83.197
Probable Submitter: 89.20.97.137
----
Manual Page -- http://www.php.net/manual/en/function.strtotime.php
Edit -- https://master.php.net/note/edit/74366
Del: integrated -- https://master.php.net/note/delete/74366/integrated
Del: useless -- https://master.php.net/note/delete/74366/useless
Del: bad code -- https://master.php.net/note/delete/74366/bad+code
Del: spam -- https://master.php.net/note/delete/74366/spam
Del: non-english -- https://master.php.net/note/delete/74366/non-english
Del: in docs -- https://master.php.net/note/delete/74366/in+docs
Del: other reasons-- https://master.php.net/note/delete/74366
Reject -- https://master.php.net/note/reject/74366
Search -- https://master.php.net/manage/user-notes.php