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

标签 php date

如何在 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/

相关文章:

php - Codeigniter CIBonfire 如何从开发模式转变为生产模式?

php - 在php中将mysql数字更改为日期格式

javascript - 立即订购并在 xxx 日期之前收到(提前 3 天)

java - 将字符串数据类型中的日期更改为 java.sql.date 数据类型

python - 如何用 pandas 截断日期时间列?

excel - 如何在 Excel 中将不同的日期格式转换或更改为一种格式

PHP fputcsv 输出双记录

php - Mysql查询n*2格式的最大记录数

php - 我如何在 CodeIgniter 中使用正确的面向对象模型和构造函数?

php - 小改动破坏了 mysql 查询