【问题标题】:How do I extract the number of seconds elapsed from a specific date?如何提取从特定日期经过的秒数?
【发布时间】:2011-04-21 14:22:27
【问题描述】:

我希望我的客户能够在我的网站上提出问题,并在 4 天后删除该问题。

每次访问该问题时,都会显示自提出问题以来经过的时间。

我认为最简单的方法是提取自提出问题以来的秒数,并以秒、分钟、小时或天为单位显示,具体取决于查看问题时的时间长短.

我正在使用 PHP 和 MySQL。请帮帮我!

【问题讨论】:

  • 显示您现在正在使用的一些代码,以便人们可以根据您正在使用的日期库提出建议
  • 可以使用PHP的日期函数:php.net/manual/en/function.date.php
  • 请注意,time() 返回一个整数,它是the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).,所以简单的减法就可以了。 mysql select datetimefield+0 也会返回一个整数

标签: php mysql date time timestamp


【解决方案1】:

在这里查看我的答案: Calculate number of hours between 2 dates in PHP

Date1 是发布问题的日期,Date2 是当前日期。此版本的比较涉及闰秒、闰年和时区,因此比仅比较两个 unix 时间戳更详细。

【讨论】:

    【解决方案2】:

    如果您将问题被问到的时间存储为 unix 时间戳,您甚至可以简单地使用 SQL 来完成。

       SELECT subject, body, ...,  SEC_TO_TIME(UNIX_TIMESTAMP() - question_asked_tstamp ) as time_ago FROM `questions`;
    

    如果将其存储为 DATE_TIME,则可以使用 MySQL 函数 TIMEDIFF。详情请见http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_timediff

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多