php,当 number_format() 遇到 date_diff()

Posted

技术标签:

【中文标题】php,当 number_format() 遇到 date_diff()【英文标题】:php, when number_format() meets date_diff() 【发布时间】:2012-12-30 07:47:30 【问题描述】:

我的系统:win 7 32bit,wampserver 2.1e 请帮我找出以下困惑的解决方案。

<?php
echo number_format(10,2);   //output 10.00
$datetime1 = date_create('2012-12-13');
$datetime2 = date_create('2012-12-14');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%d');  //output 1 
echo number_format(10,2);   // output :.00
echo number_format(10,2);  //output 10.00 
?>

dateinterval->format 之后的第一个 number_format() 得到错误的结果。 number_format 是否与 dateinterval 格式冲突?

【问题讨论】:

【参考方案1】:

我在 Win7 64bit WampServer 2.2 下运行了相同的脚本,没有发现任何冲突。

您的困惑可能是因为您打印的值没有换行符。

试试这个:

<?php
echo number_format(10,2)     . "<br>";
$datetime1 = date_create('2012-12-13');
$datetime2 = date_create('2012-12-14');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%d') . "<br>";
echo number_format(10,2)     . "<br>";
echo number_format(10,2)     . "<br>";

打印出来:

10.00
1
10.00
10.00

【讨论】:

以上是关于php,当 number_format() 遇到 date_diff()的主要内容,如果未能解决你的问题,请参考以下文章

php number_format,从存储过程中隐藏空值

php中带有大数字的numberformat错误

number_format 中的 number_format 不起作用

PHP函数number_format()

php 的 number_format使用

停止为 PHP 提供错误 number_format