如何在 php 中将 "2011-11-03T17:27:56Z"
转换为时间。
我想要与当前时间的时差。
即如果与当前时间的时差是 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 days
关于php - 在php中将字符串转换为时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097922/