一:函数简介
从linux时间戳转变为普通时间很简单,直接用第18章的MyDate函数就搞定,那么要从普通时间转化为Linux时间怎么办?这款函数帮助我们解决了大的麻烦!
演示地址: http://www.ijquery.cn/phpfunction/GetMkTime/demo1.php
下载地址: http://www.ijquery.cn/phpfunction/GetMkTime/GetMkTime.zip
二:函数代码
/** * 从普通时间转换为Linux时间截 * * @param string $dtime 普通时间 * @return string */ if ( ! function_exists('GetMkTime')) { function GetMkTime($dtime) { if(!preg_match("/[^0-9]/", $dtime)) { return $dtime; } $dtime = trim($dtime); $dt = Array(1970, 1, 1, 0, 0, 0); $dtime = preg_replace("/[\r\n\t]|日|秒/", " ", $dtime); $dtime = str_replace("年", "-", $dtime); $dtime = str_replace("月", "-", $dtime); $dtime = str_replace("时", ":", $dtime); $dtime = str_replace("分", ":", $dtime); $dtime = trim(preg_replace("/[ ]{1,}/", " ", $dtime)); $ds = explode(" ", $dtime); $ymd = explode("-", $ds[0]); if(!isset($ymd[1])) { $ymd = explode(".", $ds[0]); } if(isset($ymd[0])) { $dt[0] = $ymd[0]; } if(isset($ymd[1])) $dt[1] = $ymd[1]; if(isset($ymd[2])) $dt[2] = $ymd[2]; if(strlen($dt[0])==2) $dt[0] = '20'.$dt[0]; if(isset($ds[1])) { $hms = explode(":", $ds[1]); if(isset($hms[0])) $dt[3] = $hms[0]; if(isset($hms[1])) $dt[4] = $hms[1]; if(isset($hms[2])) $dt[5] = $hms[2]; } foreach($dt as $k=>$v) { $v = preg_replace("/^0{1,}/", '', trim($v)); if($v=='') { $dt[$k] = 0; } } $mt = mktime($dt[3], $dt[4], $dt[5], $dt[1], $dt[2], $dt[0]); if(!empty($mt)) { return $mt; } else { return time(); } } }
三:函数应用
GetMkTime(date("Y-m-d H:i:s")); GetMkTime("2015年1月1日");