Разбор таймера с php - PullRequest
       0

Разбор таймера с php

0 голосов
/ 15 апреля 2020

Я пытаюсь разобрать строковое значение таймера в следующем формате: '01: 40.911 '

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

, но я получаю false в возвращаемом значении, проблема связана с миллисекундами, когда я Генерация даты и времени в том же формате выглядит одинаково. Например:

$d = new DateTime('now');

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

приведет к: 58: 42.001

что я делаю не так?

1 Ответ

1 голос
/ 17 апреля 2020

На вопрос уже ответили в комментариях.

Вот несколько вариантов разбора строк, таких как '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',
)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...