加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP mktime根据分钟计算得出不同的结果

发布时间:2020-12-13 16:53:51 所属栏目:PHP教程 来源:网络整理
导读:以下mktime在最终回声上产生不同的结果. php echo mktime(7,36,0);1406842560php echo mktime(7,60 * 0.6,60 * ( 7.6 - 7.0 ),0);1406842500 对于每个mktime,这个分钟参数是36,我尝试使用(int)和intval进行转换,并且还使用DateTime对象的setTime函数,但结果
以下mktime在最终回声上产生不同的结果.

php > echo mktime(7,36,0);
1406842560
php > echo mktime(7,60 * 0.6,60 * ( 7.6 - 7.0 ),0);
1406842500

对于每个mktime,这个分钟参数是36,我尝试使用(int)和intval进行转换,并且还使用DateTime对象的setTime函数,但结果完全相同.

这只是一个例子,我需要最终的mktime版本作为前两个版本工作,正如预期的那样,因为通过变量代替上面例子中的数字进行了计算.

有任何想法吗?

解决方法

关于为什么会出现这种情况,我没有很好的解释 – 我感觉这与你传递的值是一个浮点数而不是一个整数有关,所以在背景中可能会出现一个精确的问题.

通过在第二个参数周围添加round()函数,以下似乎可以正常工作:

echo mktime(7,round(60 * ( 7.6 - 7.0 )),0);

返回1406842560.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读