Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Class: DateUtils

Namespace: utils

Description

Classe de utilidades para Date e Time.

Methods

Retorna um array com a relação dos dias da semana.

public static function getDaysOfWeek(): array


Retorna a string referente ao dia da semana.

public static function getDayOfWeek(int $dayNumber): ?string

Parameters:

  • $dayNumber (int)

Converte uma data/hora do formato d/m/Y H:i para o formato MySQL Y-m-d H:i:s.

@param string $dmyhi Data no formato d/m/Y H:i

@return string Data convertida no formato MySQL Y-m-d H:i:s

public static function convertDateTimeToMysql($dmyhi)

Parameters:

  • $dmyhi

Converte uma data/hora do formato d/m/Y H:i:s para o formato MySQL Y-m-d H:i:s.

@param string $dmyhis Data no formato d/m/Y H:i:s

@return string Data convertida no formato MySQL Y-m-d H:i:s

public static function convertDHSToMysql($dmyhis)

Parameters:

  • $dmyhis

Converte uma data do formato d/m/Y para o formato MySQL Y-m-d 00:00:00.

@param string $textoDDMMYY Data no formato d/m/Y

@return string Data convertida no formato MySQL Y-m-d 00:00:00

public static function convertDateToMysql($textoDDMMYY)

Parameters:

  • $textoDDMMYY

Converte uma data do formato d/m/Y para o formato MySQL Y-m-d.

@param string $textoDDMMYY Data no formato d/m/Y

@return string Data convertida no formato MySQL Y-m-d

public static function convertDateToMysqlWithoutHour($textoDDMMYY)

Parameters:

  • $textoDDMMYY

Converte uma data do formato DB (YYYY-MM-DD) para o formato BR com o dia da semana.

@param string $date Data no formato DB (YYYY-MM-DD)

@return string Data formatada com o dia da semana

public static function dateDBtoBRWithDayOfWeek(string $date): string

Parameters:

  • $date (string)

Converte uma string de data a partir de um padrão especificado para um objeto DateTime.

@param string $date string de data a ser convertida

@param string $pattern Padrão de formatação da data para o parsing. Padrão é 'd/m/Y H:i:s'.

@return \DateTime|string retorna um objeto DateTime se a conversão for bem-sucedida, a string original se o parsing falhar, ou uma string vazia se a entrada for vazia

public static function convertDateFromPattern($date, $pattern = 'd/m/Y H:i:s')

Parameters:

  • $date
  • $pattern - Default: 'd/m/Y H:i:s'

Método que retorna um array com o período de um dia.

@param mixed $treatLocalTimezone

@return array $period (Veja abaixo os indeces do retorno) $period[BEGIN_OF_DAY] - Data (Ano-Mes-dia) atual mais 00:00:00 $period[END_OF_DAY]- Data (Ano-Mes-dia) atual mais 23:59:59

public static function getPeriodOfDay($treatLocalTimezone = false)

Parameters:

  • $treatLocalTimezone - Default: false

Método que retorna dois arrays e uma variavel com total de dias do periodo informado.

@param string $startDate

@param string $endDate @optional

@param mixed $onlyBusinessDays

@return array $period (Veja abaixo os indeces do retorno) Para usar: list($arrayOfDays, $arrayOfDaysByDay, $totalOfDays) = DateUtils::getListOfDaysByPeriod('2020-08-01','2020-08-15'); print_r($arrayOfDays); print_r($arrayOfDaysByDay); echo "Total de dias: ", $totalOfDays;

public static function getListOfDaysByPeriod($startDate, $endDate = null, $onlyBusinessDays = false)

Parameters:

  • $startDate
  • $endDate - Default: null
  • $onlyBusinessDays - Default: false

Adiciona minutos numa data passada por parâmetro como String.

@param string $datetime Data no formato Y-m-d H:i:s

@param int $minValue valor em minutos, por padrão é 1

@return bool false Se não for passada uma data ou um valor de minutor menor ou igual a zero

@return string retorna uma data no formato de Y-m-d H:i:s

public static function addMinutes($datetime, $minValue = 1)

Parameters:

  • $datetime
  • $minValue - Default: 1

Adiciona segundos numa data passada por parâmetro como String em formato do Banco de dados.

@param string $datetime Data no formato Y-m-d H:i:s

@param int $minValue valor em segundos, por padrão é 1

@return bool false Se não for passada uma data ou um valor de minutor menor ou igual a zero

@return string retorna uma data no formato de Y-m-d H:i:s

public static function addSeconds($datetime, $minValue = 1)

Parameters:

  • $datetime
  • $minValue - Default: 1

Obtém o dia atual ou o dia informado (+1,-1,-7,+30) em formato padrão dia/mês/ano.

@param int $daysAfterOrBeforeToday valor inteiro positivo (dias a frente) ou negativo (dias a tras), por padrão é 0 = dia atual

@param string $format Formato de retorno (padrão usuário Brasil dia/mês/ano) pode ser BR ou DB, sendo DB = Y-m-d

@return string retorna uma data no formato solicitado

public static function getDate($daysAfterOrBeforeToday = 0, $format = 'd/m/Y')

Parameters:

  • $daysAfterOrBeforeToday - Default: 0
  • $format - Default: 'd/m/Y'

Obtém o dia solicitado em array de Ini e Fim para uso em between. Utiliza o do método getDate

@param mixed $daysAfterOrBeforeTodayIni

@param mixed $daysAfterOrBeforeTodayFim

@param mixed $format

@param mixed $arrayReturn

@return array contendo INI com 00:00:00 e FIM com 23:59:59 Utilize assim: list($inicial, $final) = DateUtils::getDateBetween(-7,'DB');

public static function getDateBetween($daysAfterOrBeforeTodayIni = 0, $daysAfterOrBeforeTodayFim = 0, $format = 'd/m/Y', $arrayReturn = false)

Parameters:

  • $daysAfterOrBeforeTodayIni - Default: 0
  • $daysAfterOrBeforeTodayFim - Default: 0
  • $format - Default: 'd/m/Y'
  • $arrayReturn - Default: false

Retorna o dia solicitado com data/hora Mesmo funcionamento do método getDate.

@param mixed $daysAfterOrBeforeToday

@param mixed $format

public static function getDateTime($daysAfterOrBeforeToday = 0, $format = 'd/m/Y H:i:s')

Parameters:

  • $daysAfterOrBeforeToday - Default: 0
  • $format - Default: 'd/m/Y H:i:s'

Método herdado da classe TabelaBO e mantido lá para compatibilidade.

@param mixed $data

@param mixed $oldTimezone

@param mixed $newTimezone

@param mixed $format

public static function convertTimezone($data, $oldTimezone, $newTimezone, $format = 'Y-m-d h:i:s')

Parameters:

  • $data
  • $oldTimezone
  • $newTimezone
  • $format - Default: 'Y-m-d h:i:s'

public static function formatFromTable($datetime, $formatTo = 'd/m/Y H:i:s')

Parameters:

  • $datetime
  • $formatTo - Default: 'd/m/Y H:i:s'

Obtém timestamp de uma data em String em Y-m-d H:i:s e se não for passada nenhuma data o mesmo pega o datetime atual.

@param string $dateStr - Data do tipo String e formato Y-m-d H:i:s

@return int timestamp

@author dalton.meira

public static function getTimestamp(?string $dateStr = null): int

Parameters:

  • $dateStr (?string) - Default: null

Converte timestamp (INT) para string date.

public static function convertTimestampToDatetime(int $value): string

Parameters:

  • $value (int)

Converte uma string do formato 'H:i:s'/'H:i'/'H' para o seu valor em segundos. H: valor de 0 a 23.

@author max.ribeiro/vinicius.pires

@version 3.0.0

public static function convertTimeToSec(string $timeString): ?int

Parameters:

  • $timeString (string)

Converte String de data do formato do banco para o formato BR.

@param mixed $dbFormatedDate

public static function dateDBtoBR($dbFormatedDate): ?string

Parameters:

  • $dbFormatedDate

Converte a data do formato armazenado pelo PHPExcel(dddddddd.tttt) para timestramp -d: numero de dias a partir de 01/01/1900 -t: fração do dia.

@param [type] $excelDate

@param string $format

public static function convertExcelDateToDateStr($excelDate, $format = 'd/m/Y'): string

Parameters:

  • $excelDate
  • $format - Default: 'd/m/Y'

Converte um tempo em de segundos para horas no formato da mascara.

@param string $mask

public static function convertSecondsToHour(int $seconds, $mask = '99:99:99'): string

Parameters:

  • $seconds (int)
  • $mask - Default: '99:99:99'

Pega a timezone do usuário na SESSÃO.

@return mixed

public static function getUserTimezone()


Retorna a DATA no formato da timezone especificada no BANCO ou America/Sao_Paulo se não tiver especificação.

@param string $moment

@param string $format

@param bool|false $timezone

@return string feito teste unitario ver /tests

public static function getUserDBTimezoneDate($moment = 'now', $format = DateUtils::PATTERN_DATETIME_DB, $timezone = false)

Parameters:

  • $moment - Default: 'now'
  • $format - Default: DateUtils::PATTERN_DATETIME_DB
  • $timezone - Default: false

Retorna Data e/ou Hora GMT.

@param bool|true $showTime Exibe hora:minuto:segundo (H:i:s)

@return string feito teste unitario ver /tests

public static function getGMTdate(?bool $showTime = true): string

Parameters:

  • $showTime (?bool) - Default: true

Converte uma data do horario do servidor para o GMT.

@param mixed $date

@return string feito teste unitario ver /tests

public static function convertToGMT($date)

Parameters:

  • $date

Converte de GMT para local.

@param mixed $date

@return string feito teste unitario ver /tests

public static function convertToLocalTime($date)

Parameters:

  • $date

A intenção desse método é para ser usados em filtros do sistema onde deseja obter os dados a partir de uma data de inicío às 00 horas até 23:59 horas e os parâmetros startDate e endDate devem ser de acordo com o pattern que por formato é d/m/Y, porém é possível de passar outro valor.

@param string @startDate Data inicial

@param string @endDate Data final

@param string @pattern Formato das datas passadas por parâmetro

@return array com a data inicial e final entre as 00:00:00 às 23:59:59 dos dias escolhidos

public static function convertDateToDatetimePeriod(string $startDate, string $endDate, string $pattern = 'd/m/Y'): array

Parameters:

  • $startDate (string)
  • $endDate (string)
  • $pattern (string) - Default: 'd/m/Y'

Calcula a data final adicionando um número de dias à data fornecida.

@param string $date data de referência no formato 'Y-m-d'

@param int $numDays número de dias a adicionar

@return string data final no formato 'Y-m-d 23:59:59'

public static function getEndDate(string $date, int $numDays): string

Parameters:

  • $date (string)
  • $numDays (int)

Retorna a timezone do usuario da sessão especificado no BANCO.

@return string Caso valor não encontrado retorna uma string vázia, se não o timezone da filial

public static function getUserDBTimeZone(): string


Converte o valor do campo para o formato adequado para o banco de dados.

@param string $fieldValue Valor do campo

@param string $fieldType Tipo do campo (DATA, DATE, DH, DHS)

@return string Valor convertido para o formato esperado pelo banco de dados

public static function dateFieldToDB(string $fieldValue, string $fieldType): string

Parameters:

  • $fieldValue (string)
  • $fieldType (string)