【问题标题】:Convert milliseconds to minutes: Getting incorrect result将毫秒转换为分钟:得到不正确的结果
【发布时间】:2019-02-07 15:19:30
【问题描述】:

我有一个总毫秒数(即 4007587),我想将其显示为小时:分钟:秒。

我的 PHP 代码:

$mil = 4007587
$timestamp = $mil/1000;
echo date("g:i:s", $timestamp);

结果应该是 1:06:47 但我的结果是 8:06:47 怎么了?

【问题讨论】:

  • 检查您的服务器时区。
  • 作为一般规则,使用日期时,忽略旧的date & time PHP functions 并使用DateTime 。除了几个例外,旧的日期和时间函数不适用于时区,并且很难使用它们处理多个时区。这些类使用时区,每个DateTime 对象都知道它存储的日期的时区。使用它们很容易,并产生更易读的代码。

标签: php


【解决方案1】:

这是因为date 考虑了您当地的时区。尝试改用gmdate

$mil = 4007587;
$timestamp = $mil/1000;
// local timezone
echo date("g:i:s", $timestamp);
// UTC
echo gmdate("g:i:s", $timestamp);

输出

2:06:47
1:06:47

【讨论】:

  • 不用担心,很高兴我能帮上忙。
猜你喜欢
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-31
  • 2018-11-16
  • 1970-01-01
  • 2014-02-13
  • 2012-09-27
相关资源
最近更新 更多