我目前有一个时间字符串,即总秒数和毫秒数,例如“83.555”秒。对于我的查询,我需要将其格式化为“00:01:23.555”,所以我现在正在使用
date("H:i:s.u", 83.555);
但我刚刚意识到这会输出00:01:23.000000
有没有办法正确格式化时间字符串?
感谢您的帮助。
答案 0 :(得分:1)
您需要使用DateTime
对象而不是date()
函数。 date()
取整数,因此它会丢弃小数点后的所有内容。 DateTime
确实支持一秒钟。
要生成DateTime
对象,您需要告诉它您正在解析的格式。然后你可以根据需要进行格式化。
Datetime::createFromFormat('s.u', 83.555)->format('H:i:s.u');
将返回
"00:01:23.555000"