====== nexwork_date.php ====== Este arquivo possui a classe nexwork_date que possui várias funções para lidar com datas. ===== Lista de variáveis ===== $dias_semana //Array com o mapeamento dos dias da semana de forma abreviada. $dias_semana2 //Array com o mapeamento dos dias da semana de forma sem abreviação. ---- ===== Lista de funções ===== * [[nexwork_date.php#fncSomaArrayHoras()|fncSomaArrayHoras()]] Realiza a soma das horas contidas em um Array. * [[nexwork_date.php#fncSomaDiasData()|fncSomaDiasData()]] Realiza a soma do número de dias a uma data específica. * [[nexwork_date.php#fncSomaHorasData()|fncSomaHorasData()]] Realiza a soma de horas a uma data específica. * [[nexwork_date.php#fncSubtraiDiasData()|fncSubtraiDiasData()]] Realiza a subtração do número de horas de uma data específica. * [[nexwork_date.php#fncSubtraiMesesData()|fncSubtraiMesesData()]] Realiza a subtração de um número de meses de uma data específica. * [[nexwork_date.php#fncSomaHoras()|fncSomaHoras()]] Realiza a soma de duas horas. * [[nexwork_date.php#fncSubtraiHoras()|fncSubtraiHoras()]] Realiza a diferença entre duas horas. * [[nexwork_date.php#fncDiferencaDatas()|fncDiferencaDatas()]] Calcula a quantidade de horas entre duas datas * [[nexwork_date.php#fncNumDias()|fncNumDias()]] Calcula a quantidade de dias entre duas datas * [[nexwork_date.php#fncGeraTimestamp()|fncGeraTimestamp()]] Recebe uma data no formato "dd/mm/aaaa hh:mm:ss" e devolve um timestamp. * [[nexwork_date.php#fncConverteData()|fncConverteData()]] Recebe uma data e o formato que esta data esta e o formato que deve ser convertido a data e retorna a data convertida. * [[nexwork_date.php#fncValidaDataHora()|fncValidaDataHora()]] Recebe uma data e hora e os formatos de data e formato de horas separados e valida e a data fornecida esta no formato requisitado se estiver devolve a data. * [[nexwork_date.php#fncValidaData()|fncValidaData()]] Recebe uma data e o formato que ela esta e faz a validação caso esteja retorna a data em um array no formato [ dia , mes, ano] * [[nexwork_date.php#fncValidaHora()|fncValidaHora()]] Recebe um hora e o formato e valida se a hora passada é válida de acordo com o formato passado * [[nexwork_date.php#fncConverteDataPadrao()|fncConverteDataPadrao()]] Converte uma data passada para um formato no qual ela se encaixa melhor * [[nexwork_date.php#fncConverteHoraPadrao()|fncConverteHoraPadrao()]] Converte a hora passada para o formato padrão HH:MM:SS * [[nexwork_date.php#fncConverteDataHoraPadrao()|fncConverteDataHoraPadrao()]] Converte a data e hora passada para o formato padrão DD/MM/YYYY HH:MM:SS * [[nexwork_date.php#fncMesesEntreDatas()|nfncMesesEntreDatas()]] Recebe duas datas e retorna a quantidade de meses nesse intervalo. * [[nexwork_date.php#fncQtdDiasMes()|fncQtdDiasMes()]] Retorna a quantidades de dias existentes em um mês de algum ano * [[nexwork_date.php#fncQtdMesesEntreDatas()|fncQtdMesesEntreDatas()]] Recebe duas datas e devolve quantos meses existem entre essas duas datas * [[nexwork_date.php#fncListaDias()|fncListaDias()]] Recebe o mês e ano de devolve um array com os os dias do mês. * [[nexwork_date.php#fncListaDiasEntreData()|fncListaDiasEntreData()]] Retorna um array com os dias existente em um intervalo de datas. * [[nexwork_date.php#fncListaMeses()|fncListaMeses()]] Retorna um array com os nome dos meses do ano * [[nexwork_date.php#fncMesDescricao()|fncMesDescricao()]] Recebe o mês em formato numérico e retorna uma string com o nome do mês por extenso 0 * [[nexwork_date.php#fncVerificaHoraNegativa()|fncVerificaHoraNegativa()]] Verifica se a hora passada é negativa * [[nexwork_date.php#fncDiaSemana()|fncDiaSemana()]] Recebe uma data ( sem horas) e retorna o número referente ao dia da semana. * [[nexwork_date.php#fncDiaUtil()|fncDiaUtil()]] Verifica se a data passada é dia útil ou não ( no caso se ela cai no sábado ou domingo) * [[nexwork_date.php#fncCalculaIdade()|fncCalculaIdade()]] Calcula a idade recebendo uma data como entrada. * [[nexwork_date.php#fncConverteHoraPadraoMinuto()|fncConverteHoraPadraoMinuto()]] Converte uma hora no formato HH:MM:SS passada em minutos * [[nexwork_date.php#fncConverteHorasEmMinuto()|fncConverteHorasEmMinuto()]] Converte uma hora no formato HH:MM:SS passada em minutos * [[nexwork_date.php#fncComparaData()|fncComparaData()]] Compara duas datas( em qualquer formato) e informa se são iguais ou se uma é maior que a outra * [[nexwork_date.php#fncUltimoDiaMes()|fncUltimoDiaMes()]] Recebe uma uma data e retorna o ultimo dia do mês. * [[nexwork_date.php#fncConverteDataHoraUTC()|fncConverteDataHoraUTC()]] Converte data no padrão UTC (Ex. 2022-04-20T13:48:20-03:00) no padrão brasileiro ---- ===== fncSomaArrayHoras() ===== É uma função de acesso público. A Função recebe um array de horas e retorna a soma total de horas que está no array. O array de horas deve conter as horas no formato HH:MM:SS. Retorna uma string com o resultado da soma no formato HH:MM:SS. /** *Soma as horas contidas no array. *As horas devem estar no formato HH:MM:YY *@param array $arrayHoras Array que contém as horas no formato HH:MM:SS *@retunr string String com o resultado da soma das horas no formato HH:MM:SS */ public static function fncSomaArrayHoras($arrayHoras) ** Exemplo de uso.** $arrayhoras = ["01:06:00","06:23:55","8:33:11"]; $res = nexwork_date::fncSomaArrayHoras($arrayhoras); O resultado do exemplo será: ** 16:03:06 ** ---- ===== fncSomaDiasData() ===== É uma função de acesso público. A função recebe uma data em qualquer formato aceito e um número de dias que deve se somar a data. A data pode conter as horas ou não. Retorna uma string no formato DD:MM:YY. /** * Realiza a soma dos dias à data passada. *@param string $data Data em qualquer formato aceito. *@param int $dias Quantidade de dias a ser somado ( deve ser inteiro e positivo). *@return string String com a data adicionada com os dias no formato DD/MM/YYYY. */ public static function fncSomaDiasData($data, $dias) ** Exemplos de uso.** $res = nexwork_date::fncSomaDiasData("05/07/2024 01:06:55",5); $res2 = nexwork_date::fncSomaDiasData("25/05/2023",9); $res3 = nexwork_date::fncSomaDiasData("01-06-2024",20); Os resultados do exemplo são: $res = 10/07/2024 $res2 = 03/06/2023 $res3 = 21/06/2024 ---- ===== fncSomaMesesData() ===== Esta função de acesso público. A função recebe recebe uma data e uma quantidade de meses e acrescenta a quantidade de meses à data passada. /** *@param string $data A data para se somar os meses *@param int $meses A quantidade de meses que será somado a data indicada. *@return string String com o resultado no formato DD/YY/YYYY */ public static function fncSomaMesesData($data, $meses) **Exemplos de uso. ** $res = nexwork_date::fncSomaMesesData("05/07/2024 01:06:55",5); $res2 = nexwork_date::fncSomaMesesData("25/05/2023",9); $res3 = nexwork_date::fncSomaMesesData("01-06-2024",20); Os resultados do exemplo são: $res = 05/12/2024 $res2 = 25/02/2024 $res3 = 01/02/2026 ---- ===== fncSomaDiasUteisData() ===== Esta é uma função de acesso público. Esta função recebe uma data e um número de dias e realiza a soma dos dias realizando essa soma somente com dias úteis. Recebe uma data e o número de dias uteis a serem somados. Retorna uma String no formato DD/MM/YYYY /** *@param string $data Data na qual será realizada a soma dos dias úteis *@param int $dias Quantidade de dias úteis que será somado a data (O valor deve ser positivo) *@return string String com a data já somada no formato DD/MM/YYYY */ public static function fncSomaDiasUteisData($data, $dias) ** Exemplos de uso. ** $res = nexwork_date::fncSomaDiasUteisData('08/07/2024',6); $res1 = nexwork_date::fncSomaDiasUteisData('10/03/2024',10); Os resultados dos exemplos são: $res = 16/07/2024 $res1 = 23/03/2024 ---- ===== fncSomaHorasData() ===== Esta é uma função de acesso público. Soma um quantidade de horas a uma data específica. Recebe uma data/hora com as horas no formato DD/MM/YY HH:MM:SS (sendo as horas no formato 24H) e também a quantidade de horas que será somada. Retorna um string com as soma no formato DD/MM/YY HH:MM:SS (sendo as horas no formato 24H) /** *@param string $data Danta no formato DD/MM/YY HH:MM:SS (sendo as horas no formato 24H) *@param int $horas Quantidade de horas para ser somada(deve ser um número positivo) *@return string String com a data/hora no formato DD/MM/YY HH:MM:SS (sendo as horas no formato 24H) */ public static function fncSomaHorasData($datahora, $horas) ** Exemplos de uso. ** $res = nexwork_date::fncSomaHorasData('08/07/2024 04:33:22',6); $res1 = nexwork_date::fncSomaHorasData('10/03/2024 22:55:11',10); Os resultados dos exemplos são: $res = 08/07/2024 06:43:32 $res2 = 10/03/2024 12:25:51 ---- ===== fncSubtraiDiasData() ===== Função de acesso público. Essa função subtrai uma quantidade de dias de uma data passada Recebe uma data e a quantidade de dias que deve ser subtraída. Retorna uma String com a data resultante no formato DD/MM/YYYY /** *@param string $data Data que será utilizada *@param int $dias Dias a ser subtraído da data ( inteiro positivo) *@return string String no formato DD/MM/YYYY com o resultado da operação */ public static function fncSubtraiDiasData($data, $dias) ** Exemplos de uso. ** $res = nexwork_date::fncSubtraiDiasData('08/07/2024',6); $res1 = nexwork_date::fncSubtraiDiasData('10/03/2024',10); Os resultados do exemplo são: $res = 02/07/2024 $res1 = 29/02/2024 ---- ===== fncSubtraiMesesData() ===== Função de acesso público. Essa função subtrai uma quantidade de meses de uma data passada Recebe uma data e a quantidade de meses que deve ser subtraída. Retorna uma String com a data resultante no formato DD/MM/YYYY /** *@param string $data Data que será utilizada *@param int $meses Meses a ser subtraído da data ( inteiro positivo) *@return string String no formato DD/MM/YYYY com o resultado da operação */ public static function fncSubtraiMesesData($data, $meses) ** Exemplos de uso ** $res = nexwork_date::fncSubtraiMesesData('08/07/2024',6); $res1 = nexwork_date::fncSubtraiMesesData('10-03-2024',10); Os resultados dos exemplos são: $res = 08/01/2024 $res1 = 10/05/2023 ---- ===== fncSomaHoras() ===== Função de acesso público. Essa função soma dois valores de horas passados. Recebe uma dos horários que será somado e depois recebe o segundo horário a ser somado Retorna uma String com o total de horas resultante no formato HH:MM:SS /** *@param string $hora1 Primeiro horário a ser somado *@param string $hora2 Segundo horário a ser somado *@return string String no formato HH:MM:SS com o resultado da operação */ public static function fncSomaHoras($hora1, $hora2) ** Exemplos de uso.** $res = nexwork_date::fncSomaHoras('05:00:00','04:00:00'); $res1 = nexwork_date::fncSomaHoras('22:33:11','06:10:50'); Os resultados dos exemplos são: $res = 09:00:00 $res2 = 28:44:01 ---- ===== fncSubtraiHoras() ===== Função de acesso público. Essa função calcula a diferença entre horas. Recebe a hora inicial e a final e devolve a diferença entre elas. Retorna uma String com a data resultante no formato HH:MM:SS /** *@param string $hora1 Hora que terá seu valor subtraído *@param string $hora2 Hora que será subtraída da $hora1 *@return string String no formato HH:MM:SS com o resultado da operação */ public static function fncSubtraiHoras($hora1, $hora2) ** Exemplos de uso. ** $res = nexwork_date::fncSubtraiHoras('05:00:00','04:00:00'); $res1 = nexwork_date::fncSubtraiHoras('22:33:11','06:10:50'); Os resultados dos exemplos são: $res = 01:00:00 $res2 = 16:22:21 ---- ===== fncDiferencaDatas() =====