Php DateTime中以毫秒为单位的3位数字
我创建了一个函数,它返回一个日期,如下所示: 2016-07-15T10:10:52.031563+00:00 这很好,但问题是毫秒的数字。如何删除最后3位数字?我只需要3个Php DateTime中以毫秒为单位的3位数字,php,datetime,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('
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"
}
u
修饰符将始终返回六位数字:
微秒(在PHP5.2.2中添加)。请注意,date()将始终生成000000,因为它采用整数参数,而如果DateTime是以微秒创建的,则DateTime::format()不支持微秒
如果您不想这样做,您必须手动插入所需的格式,例如
return $d->format('Y-m-d\Th:i:s.') . substr($micro, 0, 3) . $d->format('P');
然后将输出类似于
2016-07-15T12:29:30.546+02:00的内容u
修饰符将始终返回六位数字:
微秒(在PHP5.2.2中添加)。请注意,date()将始终生成000000,因为它采用整数参数,而如果DateTime是以微秒创建的,则DateTime::format()不支持微秒
如果您不想这样做,您必须手动插入所需的格式,例如
return $d->format('Y-m-d\Th:i:s.') . substr($micro, 0, 3) . $d->format('P');
这将输出类似于2016-07-15T12:29:30.546+02:00
我真丢脸。谢谢你。谢谢