Somar dias, meses ou anos de uma determinada data no formato 'd/m/Y'.

@param \DateTime|string $data
@param int $dias
@param int $meses
@param int $anos
@param int $horas
@param int $mins
@param int $segs
@return string
497639
public function somarDataFormatoBr($data, $dias=0, $meses=0, $anos=0, $horas=0, $mins=0, $segs=0)
    {
        $data = $this->converterParaDateTime($data, $this->FORMATO_DATA_BR);

        if (!$data){
            return '01/01/1900';
        }

        $data = explode('/', $data->format($this->FORMATO_DATA_BR));
        return date($this->FORMATO_DATA_BR, mktime($horas, $mins, $segs, $data[1] + $meses, $data[0] + $dias, $data[2] + $anos));
    }
1080095
public function serialize($data, array $params = array())
    {
        return $this->jms->serialize(
            $data,
            self::SERIALIZER_FORMAT,
            $this->determineContext($this->jmsSerializeContext, $params)
        );
    }
92011
public function gerarCampoLivre(ArrayObject $data)
    {
        $carteira = $this->carteira;

        switch (strlen($this->convenio)) {
            case 4:
                $this->nossoNumero = $this->convenio . $this->getNossoNumero();
                $this->alterarTamanho("CodigoCedente", 4);
                $this->alterarTamanho("NossoNumero", 7);
                $this->layout = ':Banco:Moeda:FatorVencimento:Valor:CodigoCedente:NossoNumero:Agencia:Conta:Carteira';
                break;
            case 6:
                if ($carteira instanceof Carteira21) {
                    $this->alterarTamanho("NossoNumero", 17);
                    $this->layout = ':Banco:Moeda:FatorVencimento:Valor:NossoNumero:Agencia:Conta:Carteira';
                } else {
                    $this->nossoNumero = $this->convenio . Number::modulo11($this->getNossoNumero(), 0, 0, true);
                    $this->alterarTamanho('CodigoCedente', 6);
                    $this->alterarTamanho('NossoNumero', 5);
                    $this->layout = ':Banco:Moeda:FatorVencimento:Valor:CodigoCedente:NossoNumero:Agencia:Conta:Carteira';
                }
                break;
            case 7:
                $this->nossoNumero = $this->convenio . $this->nossoNumero;
                $this->alterarTamanho('CodigoCedente', 7);
                $this->alterarTamanho('NossoNumero', 10);
                $this->layout = ':Banco:Moeda:FatorVencimento:Valor000000:NossoNumero:Carteira';
                break;
            default:
                throw new \LogicException('O codigo do convenio precisa ter 4, 6 ou 7 digitos!');
        }

        return $data;
    }
274608
protected static function getLength(&$len, &$bytes, $data)
    {
        $len = ord($data[1]);
        $bytes = 0;
        // Testa se tamanho menor/igual a 127 bytes,
        // se for, então $len já é o tamanho do conteúdo
        if ($len & 0x80) {
            // Testa se tamanho indefinido (nao deve ocorrer em uma codificação DER)
            if ($len == chr(0x80)) {
                // Tamanho indefinido, limitado por 0x0000h
                $len = strpos($data, chr(0x00) . chr(0x00));
                $bytes = 0;
            } else {
                //é tamanho definido. diz quantos bytes formam o tamanho
                $bytes = $len & 0x0f;
                $len = 0;
                for ($i = 0; $i < $bytes; $i++) {
                    $len = ($len << 8) | ord($data[$i + 2]);
                }
            }
        }
    }
1290874
private function sendWebMessage($mes, $text, $to) {
        // Esto no haría falta :S
        $mes['text'] = $text;

        $pusher = $this->container->get('gos_web_socket.wamp.pusher');
        $pusher->push($mes, 'session_topic', ['idSession' => $to]);

        /*
        $pusher->push([
            'data' => $data,
            'text' => $text
        ], 'session_topic', ['idSession' => $to]);
        */

        return true;
    }
469008
public function setData($data)
    {
        $this->defaultDicionarioData();

        // ID de dados na tabela
        if (!empty($data)) {
            if (is_numeric($data)) {
                $read = new Read();
                $read->exeRead($this->entity, "WHERE id = :id", "id={$data}");
                if ($read->getResult()) {
                    $dataRead = $read->getResult()[0];
                    foreach ($this->getAssociationMult() as $meta)
                        $dataRead[$meta->getColumn()] = $this->readMultValues($meta, $dataRead['id']);

                    $this->setDataArray($dataRead);
                } else {
                    $this->search(0)->setError("Id não existe");
                }

            } elseif (is_array($data)) {
                if (!empty($data[0]) && is_object($data[0]) && get_class($data[0]) === "Entity\Meta") {
                    $metas = $data;
                    $data = [];
                    foreach ($metas as $meta) {
                        if (!empty($meta->getValue()) && !empty($meta->getColumn()))
                            $data[$meta->getColumn()] = $meta->getValue();
                    }
                }

                if (!empty($data))
                    $this->setDataArray($data);
            }

            Validate::dicionario($this);
        }
    }
863289
protected static function parseAttrs($attrs = array())
    {
        /**
         * Verifica se está passando um array correto
         */
        if(!is_array($attrs))
            throw new HtmlException('Sem itens para parsear' . __CLASS__ . '::' . __FUNCTION__, 1);
        
        /**
         * Monta o retorno
         */
        $return = NULL;
        foreach($attrs as $atr => $val)
        {
            $return .= ' ';
            $return .= trim($atr) . '="' . $val . '"';
        }
        
        $return = trim($return);
        
        return $return;
        
    }
734906
public function automaticRules($data)
	{
		if (!isset($data['rules']))
		{
			$data['rules'] = '{}';
		}

		if (!is_string($data['rules']))
		{
			$data['rules'] = (string)$data['rules'];
		}

		return $data['rules'];
	}
168976
public static function toDb($data) {

        $d = static::toInt($data);

        $d .= '';

        $minus = false;
        if (strlen($d) && $d[0] === '-') {
            $minus = true;
        }

        $d = trim($d, '-');

        $d = str_pad($d, 2, '0', STR_PAD_LEFT);

        $one = substr($d, 0, -2);

        $one = str_pad($one, 1, '0');

        $two = substr($d, -2);

        $two = str_pad($two, 2, '0', STR_PAD_RIGHT);

        return ($minus ? '-' : '') . "$one.$two";
    }
576901
protected function pushMissingInterpretations($availables, $data = null)
    {
        /* @var $secondaryModel \yii\db\ActiveRecord */
        $secondaryModel = new $this->relSecondary->modelClass;

        $queryModel = $secondaryModel->find();

        $restriction = $this->_getRestriction($data, $this->_getPrimaryKeyName($secondaryModel));

        $viaRestriction = ArrayHelper::remove($restriction, $this->relSecondaryKey, false);

        if (false !== $viaRestriction) {
            $restriction[$this->_getPrimaryKeyName($secondaryModel)] = $viaRestriction;
        }

        if ($restriction) {
            $queryModel->where($restriction);
        }

        foreach ($queryModel->all() as $secondary) {
            if (!isset($availables[$secondary->primaryKey])) {
                $availables[$secondary->primaryKey] = $this->_createInterpretation($secondary->primaryKey);
            }
        }

        ksort($availables);

        return $availables;
    }
1023799
public function write($sessID, $sessData)
    {
        return $this->memcachedDriver->set($this->config['prefix'] . $sessID, $sessData, $this->config['expire']);
    }
89301
public static function data($Data, $mode = 2)
    {
        self::$Format = explode(' ', $Data);
        self::$Data = explode('-', self::$Format[0]);
        $a = array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
        $b = array("jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez");

        if (!empty(self::$Format[1])):
            $d = explode(':', self::$Format[1]);
        else:
            $d[0] = 0;
        endif;

        if (isset(self::$Data[2])):
            if ($mode && $mode === 2):
                return self::$Data[2] . ' ' . str_replace($a, $b, self::$Data[1]);
            else:
                return self::$Data[2] . ' ' . str_replace($a, $b, self::$Data[1]) . ' ' . self::$Data[0];
            endif;
        endif;

        return "";
    }
1274741
public function automaticDate($data)
	{
		if (!isset($data['date']))
		{
			$dt = new \Hubzero\Utility\Date('now');

			$data['date'] = $dt->toSql();
		}

		return $data['date'];
	}
607654
public static function makeDateTime($day, $month, $year, $hour, $min, $sec) {
        return $year ."-". $month ."-". $day ." ". $hour .":". $min .":". $sec;
    }
540840
private function setMes(int $mes, int $position)
    {
        if (!$this->certeza['mes']) {
            if (isset($this->data['mes'])) {
                $current = $this->setDateInfo('dia', 'ano');
                if ($current) {
                    $this->data[$current] = $this->data['mes'];
                    $this->position[$current] = $this->position['mes'];
                }
            }
            $this->data['mes'] = $mes;
            $this->certeza['mes'] = true;
            $this->position['mes'] = $position;
        }
    }
400099
public function validation($data, $files) {
        $error = parent::validation($data, $files);
        $fields = array('minute', 'hour', 'day', 'month', 'dayofweek');
        foreach ($fields as $field) {
            if (!self::validate_fields($field, $data[$field])) {
                $error[$field] = get_string('invaliddata', 'core_error');
            }
        }
        return $error;
    }
403569
public function dates(string $strStartDate = null, $mEndDate = null)
    {
        return new SkeDateIterator(static::$oModel, $strStartDate, $mEndDate);
    }