作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我减去两个日期:
$d = $start->diff($end);
现在我想获取以秒为单位的日期(不是 second
参数)。我知道它可以用本地 Php 函数来完成 - 但它只能在 1970 年以上工作。我知道我必须以某种方式使用 format()
方法进行操作,但我不明白...
最佳答案
您可以访问public properties of the DateInterval
class并对其进行一些数学计算:
$seconds = $d->s + ($d->i * 60) + ($d->h * 3600) + ($d->d * 86400) + ($d->m * 2592000); // and so on
但是一旦我们进入月份,就会有 +/- 2 天的差异,除非我们坚持将月份任意定义为 2592000 秒
(30 天)。
您还可以使用 DateTime 对象中两个 UNIX 时间戳的差异(但最终会遇到日期小于 1970 年的问题):
$seconds = $end->getTimestamp() - $start->getTimestamp();
关于php - 如何将 Php::DateInterval 转换为秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277845/
我是一名优秀的程序员,十分优秀!