Formato de hora JMPNo consigo que funcione el formato de hora.Según la guía de secuencias de comandos, el formato "m/d/yh:m:s" se utiliza tanto para el horario de 12 horas como para el de 24 horas... ¿Qué carajo?¿Por qué querría alguna vez que una función dé, quiera o no, una respuesta u otra?¿Cómo hago para que esto funcione?
time = today(); //3619617166
formattedTime = format(time, "m/d/y h:m:s");
print(formattedTime); //"09/12/2018 5:12:46 PM"
//What I want: "09/12/2018 17:12:46"
Hay algunas notas crípticas en la Guía de secuencias de comandos que me hacen sentir que elige 12 horas o 24 horas según la configuración de su computadora, lo cual es una idea terrible porque no quiero que mi código se rompa en la mitad de las computadoras de mis usuarios.
Si el formateo no funciona, ¿existe alguna solución sencilla?
Re: Formato de hora JMPEstoy contigo, Chris.La función JMP es una idiotez.No debería tener que escribir un script solo para cambiar el formato de hora de AM/PM a 24 h.Otros hilos dieron fórmulas para esto, ninguna de las cuales funcionó.Hay CERO motivo por el que este no debería ser un formato JMP estándar en la lista desplegable. Han pasado 3 años desde tu publicación y todavía nada de JMP.
Re: Formato de hora JMPGracias. Ya voté en el elemento de la lista de deseos. No me gusta particularmente ninguno de los formatos de fecha predeterminados, por lo que definitivamente usaría esta función si estuviera disponible como función incorporada.Ahora que sé lo que se requiere, ya superé la curva de aprendizaje y puedo formatear mis fechas como quiera.La flexibilidad ilimitada es útil.Pero si intentara explicarle todo esto a un usuario de Excel que no sea programador, recibiría miradas en blanco.Parece excesivamente complicado cuando Excel ha podido aceptar formatos de fecha de "ddd hh:mm" desde al menos 1997.
Re: Formato de hora JMPHola @Chris_Rodrigues ,
Puedes echar un vistazo a la función siguiente y, si te gusta, votar por la idea en el Lista de deseos de JMP aquí .Utilizo algo como esto todo el tiempo y me encantaría verlo disponible como una función incorporada.
Names default to here(1);
time = 3619617166;
pad = function( {x}, if(x < 10, "0" || char( x ), char( x )));
formatdatetime = function({time, pattern, prepend=""},
char(substitute(pattern,
prepend || "H", pad(hour(time, 24)),
prepend || "h", pad(hour(time, 12)),
prepend || "M", pad(minute(time)),
prepend || "S", pad(second(time)),
prepend || "m", pad(month(time)),
prepend || "d", pad(day(time)),
prepend || "y", char(year(time)),
prepend || "AP", char(if(hour(time)==24, "AM", if(hour(time, 24)>11,"PM","AM"))),
// the rest of the formatting options..Month name,
// short month name, hours without padding, etc
))
);
formatdatetime(time, "m/d/y h:M:S AP");
// 09/12/2018 05:12:46 PM
formatdatetime(time, "ymd_HMS");
// 20180912_171246
formatdatetime(time, "hour = %h, minute = %M", "%")
// hour = 05, minute = 12Re: Formato de hora JMPEn mis gráficos quería utilizar el espacio de etiquetas del eje X de la manera más eficiente posible, por lo que no quería cosas como año, número de segundos, etc. "Lunes 18:00" es suficiente.Al principio pensé que la función Format() podría hacer esto fácilmente, pero esto es lo que terminé usando:
Names Default To Here( 1 );
pad = Function( {x}, If( x < 10, "0" || Char( x ), Char( x ) ) );
Char( Match( Day Of Week( :value ), 1, "Sun", 2, "Mon", 3, "Tue", 4, "Wed", 5, "Thu", 6, "Fri", 7, "Sat" ) ) || " " || pad( Hour( :value, 24 ) ) ||
":" || pad( Minute( :value ) );Y este es el resultado:

Re: Formato de hora JMPPor favor, eche también un vistazo a Ayuda > Biblioteca de documentación de JMP > Guía de secuencias de comandos y busca en ' funciones personalizadas .' La información comienza en la página 393 para la versión JMP 15.1. Aquí también encontrará transformaciones personalizadas y formatos personalizados. Estas definiciones también se pueden utilizar de forma interactiva en la interfaz de usuario de JMP.
Re: Formato de hora JMPSimplemente me metí en la madriguera de tratar de descubrir cómo hacer que los formatos de fecha aparezcan como quiero en mis gráficos.Nunca esperé que fuera tan difícil.Así que tengo que construirlo carácter por carácter y ejecutar mi propia función para rellenar horas/minutos/segundos con ceros a la izquierda.Impresionante.Gracias @ih por la propina.
Re: Formato de hora JMPTerminé agregando esto a la lista de deseos de JMP:
https://community.jmp.com/t5/JMP-Wish-List/JMP-Time-Formatting-12-v-24-hr-control/idi-p/74643#M336
Re: Formato de hora JMPGracias @ih ; esa es una solución decente.Una nota: creo que es necesario poner la hora (hora, 24) para forzarlo a 24 horas.Parece que el valor predeterminado es 24 horas, pero la documentación me hace sentir que quiere que el valor predeterminado sea 12 horas.
//My update: (just slightly shorter)<BR /><BR />format(time, "m/d/y") || " " || pad(hour(time, 24)) || ":" || pad(minute(time)) || ":" || pad(second(time));
También espero que haya una solución de cadena de formato personalizable.Si no hay una mejor respuesta la próxima semana, agregaré la solicitud a la Lista de deseos de JMP.Ojalá alguien de JMP pueda responder.
Re: Formato de hora JMPA menudo termino usando este tipo de cosas:
names default to here(1);
time = 3619617166;
pad = function( {x}, if(x < 10, "0" || char( x ), char( x )));
pad(month(time)) || "/" || pad(day(time))|| "/" || char(year(time)) || " " ||
pad(hour(time)) || ":" || pad(minute(time)) || ":" || pad(second(time));
// "09/12/2018 17:12:46"+1 a la solución con una cadena de formato personalizable.
Re: Formato de hora JMPPuede usar Format Pattern para modificar su fecha y lo más probable es que esta haya sido la solución de JMP, ya que el elemento de la lista de deseos se configuró en Entregado.

Formatos numéricos (jmp.com)
¿Cómo aplico formatos de fecha (y duración) personalizados en JMP?