2024-09-28 22:18:58 发布
网友
在Python中time.time()将与当前时间关联的时间戳返回到小数点后6位,在PHP中microtime(true)将当前时间返回到小数点后4位。有没有办法用PHP将当前时间设置为小数点后6位?谢谢
time.time()
microtime(true)
Python:1632816181.314063
菲律宾比索:1632816181.3140
你能试试吗?我认为这一款符合你的要求。
<?php $now = DateTime::createFromFormat('U.u', microtime(true)); $timestamp = $now->getTimestamp(); echo $data = $timestamp.".".$now->format("u"); // Result :- 1632823152.201900 ?>
我的印象是,PHP中的浮点数在默认情况下使用echo或print命令显示,而不使用您想要的所有小数
echo
print
将printf()或sprintf()与%f说明符一起使用,并添加您想要的位数。在您的情况下,6位数字将是%.6f:
printf()
sprintf()
%f
%.6f
<?php // Save the floating-point Unix timestamp just for comparing below. $microtime = microtime(true); echo 'echo $microtime : ' . $microtime . "\n"; printf("printf(\"%%.6f\", \$microtime) : %.6f\n", $microtime); // Some have proposed to create a DateTime instance. $datetime = DateTime::createFromFormat('U.u', $microtime); echo "DateTime::format('U.u') : " . $datetime->format('U.u') . "\n";
这将产生以下结果:
echo $microtime : 1632834055.1038 printf("%.6f", $microtime) : 1632834055.103771 DateTime::format('U.u') : 1632834055.103800
正如你所看到的,这看起来很奇怪,但是PHP的DateTime类在某种程度上降低了过程中的精度。生成的u格式的末尾似乎用零填充
u
Test the PHP code here
你能试试吗?我认为这一款符合你的要求。
我的印象是,PHP中的浮点数在默认情况下使用
echo
或print
命令显示,而不使用您想要的所有小数将
printf()
或sprintf()
与%f
说明符一起使用,并添加您想要的位数。在您的情况下,6位数字将是%.6f
:这将产生以下结果:
正如你所看到的,这看起来很奇怪,但是PHP的DateTime类在某种程度上降低了过程中的精度。生成的
u
格式的末尾似乎用零填充Test the PHP code here
相关问题 更多 >
编程相关推荐