为了账号安全,请及时绑定邮箱和手机立即绑定

用php解析定时器

用php解析定时器

PHP
30秒到达战场 2022-12-23 14:32:29
我正在尝试解析以下格式的计时器字符串值:'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我究竟做错了什么?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

这个问题已经在评论中得到了回答。


以下是一些解析字符串的变体,如“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',

)) 


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信