我有一个非常奇怪的问题。
当我运行我的一段代码时,我收到一条错误消息,说$carDay->date
不是对象。但是当我在调试模式下运行它时,它工作正常。所以我认为这是一种赛车条件。
$trip 是 ORM 数据库 (MySQL) 中的一个对象,而 getStart-> 只是一个 getter,它以这种格式“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;
}