Pues eso, vamos a transformar duración de tiempos en formato ISO 8601, por ejemplo para su uso con Schema. Por ejemplo para las recipes de schema, para la duración de la receta:
$prepTime = '2 horas y 23 Minutos'; $prepTime = strtolower( $prepTime ); $prepTime = str_replace( 'minuto', 'minute', $prepTime ); $prepTime = str_replace( 'hora', 'hour', $prepTime ); $time = strtotime( $prepTime, 0); $prepTime = my_iso8601_duration( $time );
La función my_iso8601_duration la he cogido de stackoverflow.
function my_iso8601_duration( $seconds ) { $days = floor($seconds / 86400); $seconds = $seconds % 86400; $hours = floor($seconds / 3600); $seconds = $seconds % 3600; $minutes = floor($seconds / 60); $seconds = $seconds % 60; return sprintf('P%dDT%dH%dM%dS', $days, $hours, $minutes, $seconds); }