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)