用php解析计时器
我正在尝试以以下格式解析计时器字符串值:“01:40.911”用php解析计时器,php,datetime,Php,Datetime,我正在尝试以以下格式解析计时器字符串值:“01:40.911” DateTime::createFromFormat('i:s.v','01:40.91'); 但是我得到的返回值为false,这个问题与毫秒有关,当我以相同的格式生成日期时间时,它看起来是相同的。e、 g: $d = new DateTime('now'); var_dump($d->format('i:s.v')); 将导致:58:42.001 我做错了什么?评论中已经回答了这个问题 下面是一些解析字符串的变体,如“
DateTime::createFromFormat('i:s.v','01:40.91');
但是我得到的返回值为false,这个问题与毫秒有关,当我以相同的格式生成日期时间时,它看起来是相同的。e、 g:
$d = new DateTime('now');
var_dump($d->format('i:s.v'));
将导致:58:42.001
我做错了什么?评论中已经回答了这个问题 下面是一些解析字符串的变体,如“01:40.911”
$strTime = '01:40.911';
date_default_timezone_set('Europe/Berlin');
//PHP >= 7.3
$dt = DateTime::createFromFormat('i:s.v',$strTime);
var_export($dt);
//PHP >= 5.4.30
$dt = DateTime::createFromFormat('i:s.u',$strTime);
var_export($dt);
$dt = date_create('00:'.$strTime);
var_export($dt);
输出:
DateTime::__set_state(array(
'date' => '2020-04-17 00:01:40.911000',
'timezone_type' => 3,
'timezone' => 'Europe/Berlin',
))
DateTime::__set_state(array(
'date' => '2020-04-17 00:01:40.911000',
'timezone_type' => 3,
'timezone' => 'Europe/Berlin',
))
DateTime::__set_state(array(
'date' => '2020-04-17 00:01:40.911000',
'timezone_type' => 3,
'timezone' => 'Europe/Berlin',
))
可能是php版本问题是的,是的。谢谢
v
是PHP7.3中的createFromFormat()
的新版本。您可以使用u
或s
。