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);
}