Calculando la fecha futura con la variable minutos

digamos que tengo un entero variable de 3000

lo que equivale a 3000 minutes, ¿cómo calcularía la fecha a partir de ahora, para 3000 minutes ¿en el futuro?

Si ayuda, tengo algo de php que ya lo ha desglosado en las variables

$days
$hours
$minutes

Gracias por la ayuda

preguntado el 10 de septiembre de 12 a las 22:09

3 Respuestas

La forma más simple que se me ocurre es:

$minutes = 3000;

$newDate = new DateTime("now + {$minutes} minutes");
echo $newDate->format('m/d/Y H:i:s')

Respondido el 10 de Septiembre de 12 a las 22:09

Gracias por su respuesta, probé todas las respuestas que obtuve para esta pregunta y todas funcionan bien, pero por la simple razón de que parece la más simple, creo que la suya es la que elegiré. Gracias - al-hennessey

Todas las respuestas aquí son buenas e igualmente válidas. Al final todo se reduce a lo que tu pide el código. - Herbert

En realidad, "ahora" no es necesario. "+{$minutes} minutes" también funciona. - Herbert

Asumiendo PHP >= 5.2.0:

$d = new DateTime();
$future = $d->add(new DateInterval("PT{$minutes}i"));
                                               ^-- i/m(i)nutes, h/hour, d/day
echo $future->format('c');

Respondido el 11 de Septiembre de 12 a las 20:09

O: $d->modificar('+3000 minutos'); DateInterval en realidad se agregó en 5.3. - Evert

@evert: eso funcionará, pero también podrías usar strtotime(). personalmente odio recurrir a esa función. funciona lo suficientemente bien en la mayoría de los casos, pero explota espectacularmente cuando no lo hace. - Marc B

Obtengo una fecha en el año 2262, pero 3000 minutos son solo 50 horas. creo que quieres PT{$minutes}M. - Herbert

es confiable cuando tienes entradas confiables. pero alimentalo 01/02/03 y 01-02-03 y observa la destrucción general. - Marc B

Sí. bla. y es lunes para arrancar, así que estoy funcionalmente con muerte cerebral. - Marc B

strtotime('+3000 minutes') le dará la marca de tiempo 3000 minutos en el futuro. Puede usar esa marca de tiempo para formatear con fechas.

Alternativamente, puede utilizar la DateTime clase para hacer la suma con el add método, pero creo que es un poco más detallado de lo que necesita.

Respondido el 10 de Septiembre de 12 a las 22:09

OOP tiende a ser más detallado en general, pero la familia de clases DateTime recorre un largo camino para superar muchas de los problemas con los que la gente se encuentra a menudo cuando trata con el tiempo. (por ejemplo, cambios de zona horaria, ahorro de luz diurna, etc.) - Herbert

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.