Php 日期计算有问题:错误:strotime()要求参数1为字符串,对象为给定
我想用日期做一些计算。代码正在从数据库中提取一些日期,下面是我的控制器中的部分代码:Php 日期计算有问题:错误:strotime()要求参数1为字符串,对象为给定,php,mysql,Php,Mysql,我想用日期做一些计算。代码正在从数据库中提取一些日期,下面是我的控制器中的部分代码: foreach ($tasks as $key => $value) { print_r($tasks); if ($key == 'start') { $start_task = strtotime($value); \\ problematic line echo 'start task: '.$start_task.'<br />';
foreach ($tasks as $key => $value) {
print_r($tasks);
if ($key == 'start') {
$start_task = strtotime($value); \\ problematic line
echo 'start task: '.$start_task.'<br />';
}
$task_elapsed = $start_hold - $start_task;
}
我得到的错误是:
strtotime() expects parameter 1 to be string, object given
我不确定这里发生了什么。我正在尝试将时间戳转换为一种格式,然后可以对其执行计算
谁能告诉我正确的方法吗?替换这一行
$start_task = strtotime($value);
与
如果$tasks是一个对象数组(如print\r所示),那么这可能会起作用:
foreach ($tasks as $object) {
foreach ($object as $key => $value) {
if ($key == 'start') {
$start_task = strtotime($value);
echo 'start task: '.$start_task.'<br />';
}
$task_elapsed = $start_hold - $start_task;
}
}
foreach($tasks作为$object){
foreach($key=>$value的对象){
如果($key=='start'){
$start\u task=strottime($value);
回显“开始任务:”.$start_任务。“
”;
}
$task\u appeased=$start\u hold-$start\u task;
}
}
如果是这种情况,我不知道$key怎么可能是“开始”-你永远不会到达strottime line,也不会有错误。还是我遗漏了什么?试过了;现在我得到以下错误:尝试获取非对象的属性
put print\r($value);在与strotime的连线之前,让我们看看里面有什么。print\r($value)
产生:1@ChristinaHugginsRamey,你需要进一步筑巢。您能否在问题的foreach
之前发布var\u export($tasks)
的输出?
$start_task = strtotime($value->start);
foreach ($tasks as $object) {
foreach ($object as $key => $value) {
if ($key == 'start') {
$start_task = strtotime($value);
echo 'start task: '.$start_task.'<br />';
}
$task_elapsed = $start_hold - $start_task;
}
}