Como saber si una fecha y hora en formato UTC es válida

Código PHP

PHP – Validaciones – DateTime UTC

Función que comprueba una fecha y hora en formato UTC indicando si es un día y hora válidos.

Devuelve true si es correta o false si no lo es o alguno es vacío.

El formato UTC se define cómo YYYYMMDDTHHiissZ

/**
 * Class HelperValidate
 */
abstract class HelperValidate
{
    /**
     * Indica si la data esta en format UTC
     * Format: YYYYMMDDTHHiissZ
     *
     * @param $datetimeUTC
     *
     * @return bool
     * @see validar_is_datetime()
     */
    public static function isDateTimeUTC($datetimeUTC): bool
    {
        /* -- UTC = 20070724T224556Z */
        $datetimeUTC = strtoupper($datetimeUTC);
  
        $fecha       = substr($datetimeUTC, 6, 2) . '/' .                  
                       substr($datetimeUTC, 4, 2) . '/' . 
                       substr($datetimeUTC, 0, 4);
  
        $t           = substr($datetimeUTC, 8, 1);
  
        $hora        = substr($datetimeUTC, 9, 2)  . ':' .
                       substr($datetimeUTC, 11, 2) . ':' .
                       substr($datetimeUTC, 13, 2);

        if (! HelperValidate::isDateTime($fecha.' '.$hora)) {
            return false;
        }
  
        $z = substr($datetimeUTC, 15, 1);

        return ($t == 'T' && $z == 'Z');
    }
}

Funciones relacionadas