Php 如何从秒开始以毫秒返回日期?

Php 如何从秒开始以毫秒返回日期?,php,Php,我当前有一个时间字符串,它是秒和毫秒的总数,例如83.555秒。对于我的查询,我需要将其格式化为00:01:23.555,因此我现在正在使用 date("H:i:s.u", 83.555); 但我刚刚意识到这将输出00:01:23.000000 有没有办法正确格式化时间字符串 谢谢您的帮助。您需要使用DateTime对象而不是date函数。date采用整数,因此它将丢弃小数点后的所有内容。DateTime支持几分之一秒 要生成DateTime对象,您需要告诉它您正在解析的格式。然后,您可以根据

我当前有一个时间字符串,它是秒和毫秒的总数,例如83.555秒。对于我的查询,我需要将其格式化为00:01:23.555,因此我现在正在使用

date("H:i:s.u", 83.555);
但我刚刚意识到这将输出00:01:23.000000

有没有办法正确格式化时间字符串

谢谢您的帮助。

您需要使用DateTime对象而不是date函数。date采用整数,因此它将丢弃小数点后的所有内容。DateTime支持几分之一秒

要生成DateTime对象,您需要告诉它您正在解析的格式。然后,您可以根据需要设置格式

Datetime::createFromFormat('s.u', 83.555)->format('H:i:s.u');
会回来的

"00:01:23.555000"
使用DateTime对象而不是date函数。请注意,date将始终生成000000,因为它采用整数参数,而DateTime::format不支持微秒(如果DateTime是用微秒创建的)。当将DateTime与秒一起使用时,它将导致DateTime::\构造:无法解析位置0处的时间字符串83 8:意外字符。它似乎只格式化日期时间,而不是秒。