• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/date.php
  • Класс: BitrixBizprocBaseTypeDate
  • Вызов: Date::convertTo
static function convertTo(FieldType $fieldType, $value, $toTypeClass)
{
	/** @var Base $toTypeClass */
	$type = $toTypeClass::getType();
	switch ($type)
	{
		case FieldType::DOUBLE:
		case FieldType::INT:
			$value = $value? (int)strtotime($value) : 0;
			break;
		case FieldType::DATE:
		case FieldType::DATETIME:
		case FieldType::STRING:
		case FieldType::TEXT:
			$value = (string) $value;
			if ($value)
			{
				if ($type == FieldType::DATE)
					$format = FORMAT_DATE;
				elseif ($type == FieldType::DATETIME)
					$format = FORMAT_DATETIME;
				else
					$format = static::getType() == FieldType::DATE ? FORMAT_DATE : FORMAT_DATETIME;

				if (CheckDateTime($value, $format))
				{
					$value = date(TypeDate::convertFormatToPhp($format), MakeTimeStamp($value, $format));
				}
				else
				{
					$value = date(TypeDate::convertFormatToPhp($format), strtotime($value));
				}
			}
			break;
		case FieldType::TIME:
			if ($value instanceof ValueDate)
			{
				$systemObject = $value->toSystemObject();
				$value = new BitrixBizprocBaseTypeValueTime(
					$systemObject->format(BitrixBizprocBaseTypeValueTime::getFormat()),
					$value->getOffset()
				);
			}

			break;
		default:
			$value = null;
	}

	return $value;
}