DateTime中的3位数毫秒

时间:2016-07-15 10:21:49

标签: php datetime

我创建了一个函数,它返回的日期如下: 2016-07-15T10:10:52的 031563 00:00

没关系,但问题是数字为毫秒。如何删除最后3位数字?我只需要3个。

private function getFormattedDate($time = 'now'){
    $t = microtime(true);
    $micro = sprintf("%06d",($t - floor($t)) * 1000000);
    $d = new DateTime( date('Y-m-d H:i:s.'.$micro, $t) );
    $d->modify($time);

    return $d->format('Y-m-d\Th:i:s.uP'); // note at point on "u"
  }

1 个答案:

答案 0 :(得分:3)

u修饰符将始终返回六位数。 Parameterize directories used by dotnet-ef.

  

微秒(在PHP 5.2.2中添加)。请注意,date()将始终生成000000,因为它采用整数参数,而DateTime :: format()确实支持微秒,如果使用微秒创建DateTime。

如果您不想这样,则必须手动插入所需的格式,例如

return $d->format('Y-m-d\Th:i:s.') . substr($micro, 0, 3) . $d->format('P');

然后输出类似2016-07-15T12:29:30.546+02:00

的内容