Categorias

Convertendo horário do servidor com diferença de horário em PHP

Converte horário de servidores de outros países especificando o TIME em MINUTOS e HORAS, a partir do horário retornado pelo servidor.

function delay_timeServer($time,$delay_min,$delay_hour){
		
		/*
		$time       -> TIME a ser formatado (ex: 5:45pm) com ou sem AM/PM
		$delay_min  -> determina a diferenca do tempo em MINUTOS em relacao ao TIME de origem		
		$delay_hour -> determina a diferenca do tempo em HORAS em relacao ao TIME de origem
		*/
		
		$arr_time = explode(":",$time); // array time a ser formatada		
		
		// Minutos com Delay Minute
		$minute   = substr($arr_time[1],1,2) + $delay_min;
		
		// Hora com Delay Hour
		$hour     = $arr_time[0] + $delay_hour;
		
		// Determina o turno
		$turno    = substr($arr_time[1],2,3);
		
		
		if($minute > 59){ (string)$minute = '0'.($delay_min - 1); $hour += 1; } // altera o MINUTOS E HORA de acordo com o TIME		
		
		if($hour > 12){ (int)$hour -= 12; $turno_on = true; } // alterar somente a HORA de acordo com o TIME
		
		
		// Altera o turno de acordo com o TIME final
		if($turno_on){
		
			if($turno == 'pm'){
				
				$turno = 'am';
				
			}else{ $turno = 'pm'; }				
		}
		
		// TIME final (formatado)
		return $hour.':'.$minute.$turno;		
}

// TIME formatado com delay
// Requisicao/chamada:
echo delay_timeServer('5:53pm',5,1)';