如何將"2011-11-03T17:27:56Z"
轉換爲php中的時間。將字符串轉換爲php中的時間
我希望與當前時間有所不同。
即,如果與當前時間的時差是10分鐘,我想要10分鐘。如果1天那麼我想要1天。
如何將"2011-11-03T17:27:56Z"
轉換爲php中的時間。將字符串轉換爲php中的時間
我希望與當前時間有所不同。
即,如果與當前時間的時差是10分鐘,我想要10分鐘。如果1天那麼我想要1天。
這個小片段將給你從現在到給定日期之間的秒差。
$dateString = "2011-11-03T17:27:56Z";
$date = strtotime($dateString);
$diff = time() - $date;
echo $diff;
爲了給它你問的具體格式,你可以使用下面的功能,我發現here:
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;
}
結合兩者,這是你會得到什麼:
$dateString = "2011-11-03T17:27:56Z";
$date = strtotime($dateString);
$diff = time() - $date;
echo time_diff($diff);
輸出:
8天
我相信你想要的strtotime()
功能:
$some_time = strtotime("2011-11-03T17:27:56Z");//outputs a UNIX TIMESTAMP
$time_diff = (time() - $some_time);
if ($time_diff > 86400) {
echo round($time_diff/86400) . " days";
} else if ($time_diff > 3600) {
echo round($time_diff/3600) . " hours";
} else {
echo round($time_diff/60) . " minutes";
}
http://us.php.net/manual/en/function.strtotime.php
函數需要接受一個包含英語日期 格式的字符串,並會嘗試解析格式轉換成Unix時間戳
$diffInSecs = time() - strtotime('2011-11-03T17:27:56Z');
工作例如:(codepad here)
<?php
$time_str = "2011-11-03T17:27:56Z";
//echo date('d/m/y H:i:s', strtotime($time_str));
$diff = abs(strtotime("now") - strtotime($time_str));
$years = floor($diff/(365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24)/(30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
$hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24)/ (60*60));
$minuts = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60);
$seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minuts*60));
printf("%d years, %d months, %d days, %d hours, %d minuts\n, %d seconds\n", $years, $months, $days, $hours, $minuts, $seconds);
(時間差異了這裏:How to calculate the difference between two dates using PHP?)