Ну, простыми словами:
Вы пытаетесь получить доступ к объекту, который не создан или в настоящее время не находится в памяти.
Итак, как это решить:
if (i == null) {
// Handle this
}
Поиск по имени означает, что некоторые фреймворки позволяют использовать FIndObjects с помощью строк, а код может выглядеть так: FindObject («ObjectName»);
, потому что по умолчанию он показывает время по Гринвичу, которое вы можете изменить для своего региона с помощью следующего кода
date_default_timezone_set("Asia/Bangkok");//set you countary name from below timezone list
echo $date = date("Y-m-d H:i:s", time());//now it will show "Asia/Bangkok" or your date time
Список поддерживаемых часовых поясов http://www.php.net/manual/ ан / timezones.php
Вам нужно будет использовать либо date_default_timezone_set () , либо объект datetime , и пользователь должен будет установить свой собственный часовой пояс в меню опций где-нибудь.
В противном случае PHP является языком на стороне сервера и не имеет представления, какое время он находится на конце пользователя.
Вам придется использовать язык на стороне клиента, JavaScript. Вы можете либо просто статично, либо отображать текущее системное время пользователя, либо если по какой-то причине вам нужно было получить время на PHP, вы можете использовать некоторые подобные AJAX скрипты, чтобы JavaScript отправил свое время в скрипт при загрузке страницы .
// Изменить формат даты
$dateInfo = date_parse_from_format('m-d-Y', $data['post_date']);
$unixTimestamp = mktime(
$dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
$dateInfo['month'], $dateInfo['day'], $dateInfo['year']
);
$data['post_date']=date('Y-m-d',$unixTimestamp);
Попробуйте установить часовой пояс: date_default_timezone_set или через ini
Обновление: вы не можете установить правильную дату для своих пользователей. Javascript может справиться с этим, но вам придется полагаться на систему пользователя, чтобы определить свое время.