¿Cómo redondeo hacia arriba o hacia abajo las fechas?Hola,
Si tengo un montón de Tiempos de apertura en el formato MMDDYYYY hh: mm y me gustaría arreglar cualquiera de estas fechas que ocurren entre las horas de 1 am y 3:59 am para "redondear" a las 4 am.
En otras palabras, si mi tiempo de apertura es el 10/09/2020 3:12 a.m., lo necesito para redondear al 10/09/2020 4:00 a.m.
Por el contrario, tengo Closetimes en el mismo formato y me gustaría arreglar cualquiera de estas fechas que ocurren entre las horas de 1 am y 3:59 am para "redondear hacia abajo" a 1 am.
En otras palabras, si mi horario de cierre es el 09/10/2020 a las 3:12 a.m., lo necesito para redondear al 9/10/2020 a la 1:00 a.m.
Utilizo el editor de fórmulas en JMP para todas mis fórmulas, así que si puedo pegar la solución en el editor de fórmulas, ¡sería genial!
He adjuntado una tabla de muestra.
Gracias por cualquier ayuda con esto.
Fiona
Tabla de datosRe: ¿Cómo redondeo hacia arriba o hacia abajo las fechas?Este script ilustra el enfoque:
Names Default to Here( 1 );
date time = 09Oct2020:03:12;
rounded date time = date time - Modulo( date time, In Hours( 1 ) ) + In Hours( 1 );
formatted rounded date time = Format( rounded date time, "m/d/y h:m" );
Show( date time, formatted rounded date time );
La fórmula real puede comprimirse en esta expresión, asumiendo que desea un valor numérico con el atributo de columna de formato deseado:
Modulo( date time, In Hours( 1 ) ) + In Hours( 1 )
Tenga en cuenta que redondear hacia abajo a la hora más cercana simplemente eliminaría la adición de una hora al final de la expresión.
Re: ¿Cómo redondeo hacia arriba o hacia abajo las fechas?Lo más probable es que haya una forma más limpia / eficiente de hacer esto, pero deberían funcionar:
Tiempo abierto redondeado:
If(In Hours(1) <= Time Of Day(:Opentime) < In Hours(4),
(:Opentime - Time Of Day(:Opentime)) + In Hours(4),
:Opentime
)
La misma idea para el tiempo cerrado redondeado:
If(In Hours(1) <= Time Of Day(:Closetime) < In Hours(4),
(:Closetime - Time Of Day(:Closetime)) + In Hours(1),
:Closetime
)
Solución construida sobre las fórmulas "prefabricadas" por JMP cuando hace clic derecho en el nombre de la columna en la columna de fecha para Fecha y Hora del día :

Re: ¿Cómo redondeo hacia arriba o hacia abajo las fechas?Muchas gracias.
¡¡Esto funciona!!