【问题标题】:Add epoch time with milliseconds to a epoch date/time?将纪元时间与毫秒添加到纪元日期/时间?
【发布时间】:2023-03-27 05:31:01
【问题描述】:

我在 PHP 中有一个函数,它可以在数组中获取纪元日期的平均时间

Intervals - Array
(
  [0] => 86340
  [1] => 86400
  [2] => 86400
  [3] => 86400
  [4] => 86400
  [5] => 172800
  [6] => 86400
)

我通过将数组中的所有元素相加并除以数组中元素的数量来计算平均值。我的问题是有时它会返回一个纪元时间 - '98734.285714286' 而不是 '98734'

稍后我会将这个平均时间添加到一个纪元日期,例如 - '1453348800 + 98734.285714286'

但由于纪元日期有小数位,它似乎将小数点后的前 4 个数字附加到纪元结果中,例如 - '1453354114.2857' 并且当它转换回人类时它返回的可读日期 - 2903-01-22 05:28:34

请注意,这些纪元日期仅为示例。

【问题讨论】:

    标签: php date epoch


    【解决方案1】:

    我的问题是有时它会返回一个纪元时间,例如 - '98734.285714286' 而不是 '98734'

    $average = intval($average); 
    

    不需要解释:)

    【讨论】:

      【解决方案2】:

      它们是整数,所以将它们视为整数。

      $intervals = ['86340', '85340', '1453354114.2857'];
      array_walk($intervals, 'intval'); // now they are all integer
      

      然后随心所欲地使用它,例如平均:

      $avg = intval(array_sum($intervals)/count(intervals));
      

      【讨论】:

      • 错误的假设。 (3 + 2+ 3) / 3 = 整数?不。他们希望答案是整数,而不是操作数
      • 简单添加另一个inval,就像我在上面所做的那样......我添加了它。
      • 确保它们都是整数。 OP 对源数据不是很清楚。编辑:他在他们周围使用了很多''。
      猜你喜欢
      • 2013-11-03
      • 2012-03-08
      • 1970-01-01
      • 2014-03-14
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      相关资源
      最近更新 更多