繁体   English   中英

致命错误调用字符串上的成员 FUNCTION FORMAT()

[英]FATAL ERROR CALL TO A MEMBER FUNCTION FORMAT() ON STRING

任何人都可以帮助我吗? 我有以下致命错误:未捕获的错误:在第 89 行的字符串上调用成员 function 格式;

第 89 行是

    $monday->setISODate($days->format("o"),$days->format("W"));

我的 function 是:

function dateToWeekPeriod($days)
{
  $monday = new DateTime();
  $monday->setISODate($days->format("o"),$days->format("W"));
  $sunday = clone $monday;
  $sunday->modify("+6 day")->setTime(23,59);

  $interval = DateInterval::createFromDateString('1 day');
  $period = new DatePeriod($monday, $interval, $sunday);
  return $period;
}

我的 function 主要是:

function main()
{
    $end = new DateTime("now");
    $begin= clone $end;
    $begin->modify('-50 days')->setTime(23,59);
    echo $end->format('Y-m-d'), "\n", $begin->format('Y-m-d')."\n";
    $interval= new DateInterval('P1D');
    $daterange= new DatePeriod($begin, $interval, $end->modify("+1 day"));

    $days=array();
    foreach($daterange as $date)
    {
      $date->format('Y-m-d')."\n";
      array_push($days,$date->format('Y-m-d'));
    }
    echo "-----les dates de l'intervalle sont:-----\n";
    var_dump($days);

    $Week=array();
    $datas=array();
    $Weeks=array();
    $insertAnnee=array();
    $recupAnnee=array();
    $tabRecupAnneeDesc=array();

    foreach($days as $d)
    {
      $week = periodToDayArray(dateToWeekPeriod($d));//les jours de la semaine concernée
      $Week=array_push($Week,$week);
    }

我在这一行有一个堆栈跟踪:

$week = periodToDayArray(dateToWeekPeriod($d))

提前致谢

在您的主要 function 中, $days是一个字符串数组。 您将此数组的元素(字符串)传递到dateToWeekPeriod function。

$monday->setISODate($days->format("o"),$days->format("W"));
$days->format("o") // not possible 

最简单的方法是将$days保留在日期上。

$days=array();
  foreach($daterange as $date)
  {
    array_push($days,$date);
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM