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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |