我试图找到两个日期时间对象之间的区别,在这种情况下,当前日期($ nowDate)与我从MySql中的日期时间列中提取的结果之间的差异($ row ['dueDate]',或$ rowDate)。我已将MySql中的值设置为datetime,并且我试图减去当前日期所示的时间,表示为DateTime对象。问题是我试图将我从MySQL获得的内容转换为DateTime对象但
我首先尝试使用:: createFromFormat选项尝试将sql输出变为可用格式,但抛出了一个php错误,声称结果是一个布尔值。当我尝试使用strtotime时,抛出的错误声称它是一个整数,当我尝试使用程序的输出PHP声称它是一个字符串!
以下代码:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
如何将$ rowDate变量设为dateTime类型而不是其他?
答案 0 :(得分:2)
date_diff()
需要两个DateTimeInterface
个对象作为参数。
$nowDate = new DateTime ;
$rowDate = new DateTime("2018-01-05") ;
$diff = date_diff($nowDate, $rowDate) ;
然后$diff
现在是DateInterval
,而不是数值。但是你可以使用秒或微秒,例如:
$seconds = $diff->s ; // integer value
$microseconds = $diff->f ; // float value