0

私は非常に奇妙な問題を抱えています。

コードを実行すると$carDay->date、オブジェクトではないというエラーが表示されます。しかし、デバッグモードで実行すると、正常に動作します。ですから、それは一種の競合状態だと思います。

$ tripはORMデータベース(MySQL)のオブジェクトであり、getStart->はこの形式「20120929T024754」で開始日を取得する単なるゲッターです。その文字列を日付に変換してから、日付を処理します。しかし、私がデバッグせずに実行したときに言ったように、日付はアクセスしたいときに時間内に変換されていないようです。誰かがそれについてなぜまたは私ができることについて誰かアイデアを持っていますか?

 private function calculateIntLate($trip) {
    $carDay = $trip->getStart();
    $carDay_date = $this->convertStringToDateTime($carDay);

    $carDate = $carDay_date->date;
  }

  public function convertStringToDateTime($string) {
    //012345678901234 
    //20120929T024754
    $year = substr($string, 0, 4);
    $month = substr($string, 4, 2);
    $day = substr($string, 6, 2);
    $hour = substr($string, 9, 2);
    $minute = substr($string, 11, 2);
    $second = substr($string, 13, 2);
    $dateTime = new \DateTime($year . '-' . $month . '-' . $day . ' ' . $hour . ':' . $minute . ':' . $second);
    return $dateTime;
  }
4

2 に答える 2

1

あなたはおそらくこれが欲しいでしょう:

$carDate = $carDay_date->date;

いいえ

$carDate = $carDay->date;
于 2012-11-04T23:45:58.073 に答える
0

Ok、

ここで答えを見つけました。

どうやら、Datetime->dateプロパティを使用することはできません

于 2012-11-05T00:28:19.580 に答える