当前位置: 首页 > 面试题库 >

PHP如何查找自日期时间起经过的时间?

姚星宇
2023-03-14
问题内容

如何查找自日期时间戳记以来经过的时间2010-04-28 17:25:43,最终输出文本应类似于xx Minutes Ago/xx Days Ago


问题答案:

大多数答案似乎都集中在将日期从字符串转换为时间上。看来您主要是考虑将日期设为“ 5天前”格式,等等。对吗?

这就是我要这样做的方式:

$time = strtotime('2010-04-28 17:25:43');

echo 'event happened '.humanTiming($time).' ago';

function humanTiming ($time)
{

    $time = time() - $time; // to get the time since that moment
    $time = ($time<1)? 1 : $time;
    $tokens = array (
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
    );

    foreach ($tokens as $unit => $text) {
        if ($time < $unit) continue;
        $numberOfUnits = floor($time / $unit);
        return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
    }

}

我还没有测试过,但是应该可以。

结果看起来像

event happened 4 days ago

要么

event happened 1 minute ago


 类似资料:
  • 问题内容: 我有以下方法: 我想知道是否已经过去了24个小时,如何在Python中做到这一点? 问题答案: 是一个简单的datetime对象,表示UTC时间: 如果是本地时间(天真的(时区未知)日期时间对象): 如果是不明确的时间,例如DST转换结束时的时间(在许多时区中,一年一次),则有五十五十次机会返回错误的结果(例如,偏离一小时)。 如果库没有在给定平台上使用历史时区数据库,并且本地时区的U

  • 问题内容: 如何查询SQL Server的SQL Server 2005表列的创建日期? 我尝试获取该信息,但是创建日期未包含在此存储过程中。 如何才能做到这一点? 问题答案: 有一个名为sys.Columns的系统表,您可以从中获取列信息。如果要查看特定表的列,可以执行以下操作: 或者,您可以获取如下表信息: 但是我找不到有关列创建日期的任何信息。 更新: 这可能会有所帮助。

  • 问题内容: 我有两个日期,格式如“ Ymd H:i:s”。我需要比较这两个日期并找出时差。 问题答案: 您可以将它们转换为时间戳,然后从那里开始: 除以3600是因为一小时内有3600秒,请避免使用很多小数位。

  • 我正在寻找一种方法来找到两个日期之间的时间差使用瞬间js在秒内仅。我想将当前日期与从数据库中读取的日期进行比较。

  • 我需要使用php将日期时间插入到oracle表中。 我的日期字符串是这种格式: 当我在php中使用这种格式时, $date1=to_date('2013-10-22 08:02:30','YYYY-MM-DD HH24: MI: SS') 我看到oracle表中的数据是PM格式的。这怎么可能?我如何更改to\u日期,以便任何时间12都是上午,任何时间12点及以上都是下午?

  • 问题内容: 使用命令,我可以显示具有多个级别的目录名称。以下命令显示深度为2的路径下的所有目录: 结果显示: 使用命令,我可以找到修改后的日期时间: 结果是: 有没有一种方法可以将这两个命令组合在一起,以便在目录中列出修改后的日期时间? 问题答案: 您可以使用的开关和定义的输出格式使用如下开关: 这应该在输出的同一行上给文件名加上修改时间。