Comencemos con el propósito de esta publicación:
¿Ha tenido problemas con las fechas y horas en las que los usuarios tienen diferentes configuraciones regionales y cómo los ha manejado?
De vez en cuando me he enfrentado a problemas con diferentes formatos de hora (y fecha) al realizar secuencias de comandos y compartir esas secuencias de comandos (recientemente he estado trabajando con usuarios que tienen diferentes configuraciones regionales y JMP). Este problema generalmente está relacionado con el formato de hora, ya que JMP no proporciona un formato "general" para la hora (para la fecha puedo usar la fecha local).
Antes de JMP16, hice mi propio código para verificar si el usuario está usando: o. como separador de tiempo y luego creó el formato de fecha y hora local basado en eso:
timeSeparator = Left(Regex(Format(Today() ,"h:m:s"), "\d", "", GLOBALREPLACE),1);
customFormat = "Locale Date Time h"||timeSeparator||"m"||timeSeparator||"s";
JMP16 ayuda con esto con Format Pattern pero no es el más simple de usar al formatear (el usuario debe saber usar <::> como separador de tiempo):
<HH24><::><MM> <::><SS> ");</SS></MM></HH24> Dependiendo de lo que esté haciendo, tengo diferentes soluciones. Si solo quiero tener la fecha y la hora en el cuadro de texto, normalmente solo uso AsDate(), pero cuando quiero crear informes específicos o proporcionar una GUI con un cuadro de edición de números que tiene la opción de cuadro de calendario. No puedo usar esa.A continuación se muestran un par de ejemplos sobre el problema y las soluciones que estoy usando actualmente según la versión de JMP:Ver más...(Resaltar para leer)Names Default To Here(1);
Clear Log();
Print("New window");
nw = New Window("", Lineup Box(N Col(2),
Text Box("Format Pattern <-><MM> <-><YYYY><HH24> <::><MM> <::><SS> ", << Establecer ajuste(500)), cal1 = Cuadro de edición de número(Hoy()), Cuadro de texto("Fecha y hora local h:m:s", << Establecer ajuste(500)), cal2 = Cuadro de edición de número (Hoy()), Cuadro de texto("Configuración local Fecha Hora hms", << Establecer ajuste(500)), cal3 = Cuadro de edición de número(Hoy()), Cuadro de texto("aaaa-mm-ddThh:mm:ss" , << Establecer ajuste(500)), //¿formato ISO? cal4 = Cuadro de edición de número(Hoy()), Cuadro de texto("Formato de fecha local creada", << Establecer ajuste(500)), cal5 = Cuadro de edición de número (Hoy()), Cuadro de texto("Sin formato", << Establecer ajuste(500)), cal6 = Cuadro de edición de número(Hoy()) )); cal1 << Establecer formato(Formato("Patrón de formato", "</SS></MM></HH24></YYYY></MM><-> <-> <::> <::> ")); cal2 << Establecer formato(Formato("Fecha y hora local h:m:s")); cal3 << Establecer formato(Formato("Fecha y hora local hms")); cal4 << Establecer formato(Formato( "yyyy-mm-ddThh:mm:ss")); timeSeparator = Left(Regex(Format(Today() ,"h:m:s"), "\d", "", GLOBALREPLACE),1); customFormat = "Configuración regional Fecha Hora h"||timeSeparator||"m"||timeSeparator||"s"; cal5 << Establecer formato(customFormat); Print("Mostrar"); Mostrar(Formato(Hoy(),"Formato Patrón", "<-> <-> <::> <::> ")); Show(Format(Hoy(),"Local Fecha Hora h:m:s")); Show(Format(Hoy()(),"Local Fecha Hora hs")); Show(Format(Hoy( ),"aaaa-mm-ddThh:mm:ss")); Mostrar(Formato(Hoy(), formato personalizado)); Mostrar(Hoy()); Imprimir("Tabla de datos"); dt = Nueva tabla("Sin título ", Agregar filas(1), Comprimir el archivo al guardarlo(1), Nueva columna("FormatPattern", Numérico, "Continuo", Formato("Mejor", 12), << Establecer cada valor(Hoy())), Nueva columna("LocaleDateTime:", Numérico, "Continuo", Formato("Best", 12), << Establecer cada valor (Hoy())), Nueva columna("LocaleDateTime.", Numérico, "Continuo", Formato ("Mejor", 12), << Establecer cada valor(Hoy())), Nueva columna("ISO?", Numérico, "Continuo", Formato("Mejor", 12), << Establecer cada valor(Hoy ())), Nueva columna ("Personalizado", Numérico, "Continuo", Formato ("Mejor", 12), << Establecer cada valor (Hoy())), Nueva columna ("Sin formato", Numérico, "Continuo ", Formato("Mejor", 12), << Establecer cada valor(Hoy())) ); Columna(dt, "FormatPattern") << Formato("Formato de patrón", "<-><MM><-><YYYY><HH24> <::><MM> <::><SS> "); Columna(dt, "LocaleDateTime:") << Formato("Fecha y hora local h:m:s"); Columna(dt, "LocaleDateTime.") << Formato("Fecha y hora local hms"); Columna (dt, "¿ISO?") << Formato("aaaa-mm-ddThh:mm:ss"); Columna(dt, "Personalizado") << Formato(customFormat); Mostrar(Hoy());</SS></MM></HH24></YYYY></MM>Format("Format Pattern", "<YYYY><-><MM> <-></MM></YYYY>
Mis resultados usando JMP16:
Creé una solicitud de función de soporte de JMP sobre la opción de formato de hora general (fecha y hora local o formato ISO) en JMP, pero la persona de soporte no tenía muchas esperanzas de que se implementara (tal vez si creo un elemento de la lista de deseos y recibe felicitaciones, podría tener una mejor oportunidad).
Y repito la pregunta:
¿Ha tenido estos problemas con las fechas y horas y cómo los ha manejado cuando los usuarios tienen diferentes configuraciones regionales?
Editar:
Formatee la configuración de mi computadora portátil de trabajo usando JMP16 Pro:
Desde mi otra PC con formatos de fecha muy extraños usando JMP15: