【问题标题】:How can I find the duration of time in UNIX format between two dates in TIMESTAMP format? [duplicate]如何在 TIMESTAMP 格式的两个日期之间找到 UNIX 格式的持续时间? [复制]
【发布时间】:2014-08-19 15:05:33
【问题描述】:

在 Oracle 中,如何在 TIMESTAMP 格式的两个日期之间找到 UNIX 格式的持续时间?

START_DATE                END_DATE                   DURATION
    "2014-08-07 10:02:39.0",  "2014-08-07 10:07:08.0"    ???UNIX FORMAT

【问题讨论】:

  • 持续时间不能是 UNIX 格式
  • 这应该会有所帮助:stackoverflow.com/questions/11617962
  • 由于 Unix 时间戳距离纪元仅几秒,因此持续时间是以秒为单位的差异。

标签: php sql database oracle


【解决方案1】:

您将在 PHP 中执行以下操作。

$start_date = strtotime("2014-08-07 10:02:39.0");
$end_date = strtotime("2014-08-07 10:07:08.0");

$duration = $end_date - $start_date;

Unix“格式”或Unix时间戳是从1970-01-01开始的所有秒数,直到它指向的日期。所以来自1970-01-01 to 2014-08-07 10:02:39.0 的所有秒数例如;

strtotime();PHP Function

这会将日期的任何给定字符串表示“虚拟”转换为 Unix 时间戳。

在将日期转换为 Unix 时间戳并相应地减去它们之后,剩下的就是 2014-08-07 10:02:39.02014-08-07 10:07:08.0 之间经过的秒数

希望对您有所帮助。

【讨论】:

  • 我知道,但是我没有办法使用PHP
  • 那你怎么用PHP标签呢?
猜你喜欢
  • 2012-09-28
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2013-07-30
  • 2020-07-15
  • 1970-01-01
  • 2013-05-17
相关资源
最近更新 更多