猿问

用php解析定时器

我正在尝试解析以下格式的计时器字符串值:'01:40.911'


DateTime::createFromFormat('i:s.v','01:40.91');

但是我的返回值是假的,这个问题与毫秒有关,当我用相同的格式生成日期时间时,它看起来是一样的。例如:


$d = new DateTime('now');


var_dump($d->format('i:s.v'));

将导致:58:42.001


我究竟做错了什么?


30秒到达战场
浏览 117回答 1
1回答

慕森王

这个问题已经在评论中得到了回答。以下是一些解析字符串的变体,如“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',)) 
随时随地看视频慕课网APP
我要回答