gmdate()期望参数2为整数,给定float

时间:2019-07-01 09:54:11

标签: php date

这是我的尝试

Problems Exist (DKIM, SPF, and Reverse DNS)
  

严重性:警告

消息:gmdate()期望参数2为   是整数,给定浮点数

文件名:   controllers / PermissionSettingController.php

行号:83

这里是我的代码 enter image description here

3 个答案:

答案 0 :(得分:1)

错误是不言自明的:

  

需要整数作为函数的第二个参数,但浮点值   通过。

因此将float转换为int,如下所示:

(int)$unix_date_exp

ceil($unix_date_exp)

floor($unix_date_exp)

参考文献:

Type Casting

ceil

floor()

答案 1 :(得分:0)

您可以给floorceil舍入$unix_date_exp的值。

$unix_date_exp = floor($unix_date_exp); // or ceil($unix_date_exp);

由于gmdate期望值是整数,但是根据您的计算,值将是float,因此您需要通过进行integer将其四舍五入到最接近的floorceil来评估。

答案 2 :(得分:0)

您的$excel_date_exp(从中计算出$unix_date_exp)是0.0(浮点数),您正在将其传递给期望和整数的函数。您在这里有2个可行的选择:

a)设置您的$excel_date_exp = 0(int)

b)在将其转换为函数之前将其转换:$final_expiry_date = gmdate("Y-m-d", (int)$unix_date_exp);

$final_expiry_date = gmdate("Y-m-d", floor($unix_date_exp));-因为您的计算不会添加任何小数。