在php中将字符串转换为时间

Muh*_*riq 6 php date

如何"2011-11-03T17:27:56Z"在PHP中转换为时间.

我想要与当前时间有所不同.

即如果与当前时间的时差是10分钟,我想要10分钟.如果是1天,那我想要1天.

Mar*_*cus 7

这个小片段将为您提供从现在到给定日期之间的秒数差异.

$dateString = "2011-11-03T17:27:56Z";
$date = strtotime($dateString);
$diff = time() - $date;
echo $diff;
Run Code Online (Sandbox Code Playgroud)

为了给它你要求的具体格式你可以使用我在这里找到的以下功能:

function time_diff($s) { 
    $m = 0; $hr = 0; $d = 0; $td = "now";
    if ($s > 59) { 
        $m = (int)($s/60); 
        $s = $s-($m*60); // sec left over 
        $td = "$m min"; 
    } 
    if ($m > 59) { 
        $hr = (int)($m / 60); 
        $m = $m - ($hr*60); // min left over 
        $td = "$hr hr"; 
        if ($hr > 1) {
            $td .= "s";
        }
        if ($m > 0) {
            $td .= ", $m min";
        }
    } 
    if ($hr > 23) { 
        $d = (int) ($hr / 24); 
        $hr = $hr-($d*24); // hr left over 
        $td = "$d day"; 
        if ($d > 1) {
            $td .= "s";
        }
        if ($d < 3) { 
            if ($hr > 0) {
                $td .= ", $hr hr";
            }
            if ($hr > 1) {
                $td .= "s";
            }
        } 
    } 
    return $td; 
} 
Run Code Online (Sandbox Code Playgroud)

结合这两者就是你得到的:

$dateString = "2011-11-03T17:27:56Z";
$date = strtotime($dateString);
$diff = time() - $date;
echo time_diff($diff);
Run Code Online (Sandbox Code Playgroud)

输出:

8天