Здравствуйте.
Использую highload инфоблок. Создано поле типа "datetime". Через админку значения записываются нормально. Пытаюсь это же свойство записать программно:
Код |
---|
$time = '2013-12-04T06:11:03Z'; //время в формате ISO 8601
$result = $hlDataClass::add(array(
"UF_TIME" => Date('Y-m-d G:i:s', strtotime($time))
));
|
Получаю следующую ошибку:
Код |
---|
[Bitrix\Main\ObjectPropertyException]
Object property "dateTimeFormat" not found. (100)
#0: Bitrix\Main\Context\Culture->getDateTimeFormat()
/Путь_до_корня/bitrix/modules/main/lib/type/datetime.php:187
#1: Bitrix\Main\Type\DateTime::getFormatFromCulture(0)
/Путь_до_корня/bitrix/modules/main/lib/type/datetime.php:37
#2: Bitrix\Main\Type\DateTime->__construct("2013-12-04 10:11:03")
/Путь_до_корня/bitrix/modules/highloadblock/lib/highloadblock.php:504
#3: Bitrix\Highloadblock\DataManager::add(array(7))
/Путь_до_корня/get2.php:67
|
При этом, уже записанное значение выводится в следующем виде:
Код |
---|
[UF_TIME] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2013-12-17 12:14:00
[timezone_type] => 3
[timezone] => Europe/Moscow
)
[dateType:protected] =>
) |
Откуда логично предположить, что время следует передавать в формате "YYYY-MM-DD HH:MM:SS".
Дополнение:
Код |
---|
$time = '2013-12-04T06:11:03Z'; //время в формате ISO 8601
$result = $hlDataClass::add(array(
"UF_TIME" => ConvertTimeStamp(strtotime($time), 'FULL')
));
|
Ошибок не выдает, но и дату не записывает.
Подскажите, пожалуйста, что не так?