Tengo un código donde tengo que "redondear" al minuto más bajo.Php: DateTime: cómo establecer solo segundos (no horas ni minutos)
16:05:00
debe convertirse en16:05:00
16:05:01
debe convertirse en16:05:00
16:05:29
debe convertirse en16:05:00
16:05:30
debe convertirse en16:05:00
16:05:31
debe convertirse en16:05:00
16:05:59
debe convertirse en16:05:00
Quiero utilizar el objeto DateTime. No hay funciones tales como:
setHours()
setMinutes()
setSeconds()
Aquí está el comienzo de mi código:
$my_date=DateTime::createFromFormat(
'Y-m-d H:i:s',
$bd_date
);
$my_date->setTimezone(self::$TimeZone);
Ahora me gustaría establecer la parte de "segundos" a cero.
¿Tiene una forma elegante de configurar los minutos como a mí me gustaría?
Nota: No estoy buscando una solución como "divide by getTime() por 60, convierte a entero, luego multiplica por 60". Estoy buscando una solución genérica para establecer los segundos, no solo a "0".
solución perfecta;) –
... y suena muy eficiente;) – Chuck
es la forma más eficiente para ajustar las horas y minutos en un DateTime objeto. Además, 'format' es la única forma documentada de extraer horas de DateTime. – wroniasty