【问题标题】:PHP time period "7 days, 18:50:19"PHP时间段“7天18:50:19”
【发布时间】:2018-11-23 15:22:23
【问题描述】:

在php中将此时间段转换为秒的最佳方法是什么? "7 天,18:50:19" ~> "67000"

【问题讨论】:

  • 你是如何得出7 days, 18:50:19的值的
  • 为什么是 67,000?一天已经有 86,400 秒。你是不是在这里损失了一个数量级……?
  • 抱歉,少了一个 0,应该是 670000

标签: php time period


【解决方案1】:

strtotime 可以原生解析这样的“句点”格式,唯一的关键是还要传入0 作为第二个参数,以便结果相对于 unix epoch 而不是当前时间:

$seconds = strtotime('7 days 18:50:19', 0);
echo $seconds;

672619

【讨论】:

    【解决方案2】:

    我们还能做得更好吗?

    $interval = "7 days, 18:50:19";
    $interval = preg_replace("/[a-z A-Z]/", "", $interval);
    $int = preg_split( "/(,|:)/", $interval);
    $inter = ($int[0]*86400) + ($int[1]*3600) + ($int[2]*60) + ($int[3]);
    var_dump($inter);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 2012-07-05
      相关资源
      最近更新 更多