我們在使用date函數進行格式化時間時,經常會用到字符串轉換為時間函數strtotime,如果直接使用字符串參數:
date('D,d M Y H:i:s',"2011-10-10 12:12:00");
那麼可能會收到如下警告:
Notice: A non well formed numeric value encountered in ...
正確的用法是:
date('D,d M Y H:i:s',strtotime("2011-10-10 12:12:00"));
後來查了一下,strtotime功能非常強大,像下面的需求都能轉換:
<?php
echo strtotime("now");
echo strtotime("10 September 2000");
echo strtotime("+1 day");
echo strtotime("+1 week");
echo strtotime("+1 week 2 days 4 hours 2 seconds");
echo strtotime("next Thursday");
echo strtotime("last Monday");
?>
所以,可以想象,strtotime肯定效率很低,如果已知固定格式的時間格式,可以自己使用mtime轉換。
比如:
function mystrtotime($dtime)
{
$arr=preg_split('/[\-| |:]/',$dtime);//"2006-02-12 16:21:46"
return(mktime($arr[3],$arr[4],$arr[5],$arr[1],$arr[2],$arr[0]));//Get UNIX timestamp(16,21,46,2,12,2006)
}