Problemas con los separadores de tiempoEstamos teniendo algunas dificultades con los formatos de hora al importar datos.
En nuestro laboratorio, tenemos un grupo de computadoras con Win7 o Win10 con diferentes configuraciones con respecto a los formatos de hora. Esto parece causar problemas al intentar importar datos con marca de tiempo a JMP12 y 14. Nuestras marcas de tiempo tienen el formato aaaa-mm-dd hh:mm:ss (por ejemplo, 2018-08-24 13:39:27) y dependiendo de la computadora que probemos, la importación funciona o falla, porque el formato de tiempo tiene que usar ya sea dos puntos o un punto.¿Cómo podríamos construir un script de importación que funcione en todas las máquinas?
También nos preguntamos por qué no hay un formato de tiempo fijo en JMP que siga siendo el mismo a pesar de la configuración de Windows. Después de todo, existe la norma ISO 8601 que define a los dos puntos como el separador.
Re: Problemas con los separadores de tiempoResulta que la configuración sugerida por XanGregg era exactamente la que buscábamos. En caso de que alguien encuentre esta conversación más tarde, parece que esta configuración también se puede cambiar con el siguiente script.
Set preferences( Use JMP Locale Settings( 1 ) );
También terminé ajustando un poco nuestra entrada con expresiones regulares como sugirió Markbailey, así que también estoy muy agradecido por este consejo.
Re: Problemas con los separadores de tiempoMuchas gracias por la solución con el RegEx. Con una prueba rápida parece ayudarnos a avanzar. También iré y haré algunas pruebas con la configuración "específica de Windows" cuando pueda obtener acceso a otra computadora. Esperemos que esa sea la solución universal para nosotros.
¡Muchas gracias por toda la ayuda!
Re: Problemas con los separadores de tiempoCuando cambié mi separador de tiempo Win10 a "." y ejecuté el siguiente script a continuación, parecía funcionar bien, por lo que me faltan algunos detalles.

Independientemente, aquí hay un par de cosas que pueden ser útiles para su caso.
- Hay una preferencia global de JMP en "Específico de Windows" para respetar o no la configuración regional del sistema.
- Si importa la columna como texto y la analiza más tarde, la función Analizar fecha() tiene un argumento Usar configuración regional que puede desactivar.
s = "time,
2018-08-24 13:39:27
2018-08-25 14:11:22
2018-08-26 16:33:44";
path = "$TEMP/times.csv";
Save Text File( path, s );
Open(path);
Re: Problemas con los separadores de tiempoPerdón por la confusion.
No, de esa manera no funcionará ya que los argumentos definen un formato establecido y es posible que no incluyan expresiones regulares. Mira mi última publicación para otra idea.
Re: Problemas con los separadores de tiempoSuponiendo que importa la marca de tiempo como una cadena de caracteres en una columna de datos llamada Fecha y hora, una nueva columna de datos numéricos con esta fórmula debería dar como resultado la fecha adecuada, independientemente del formato utilizado (de los dos que describió):
Parse Date(
Regex( :Date Time,
"(\d{4}-\d{2}-\d{2} \d{2})[:\.](\d{2})[:\.](\d{2})",
"\1:\2:\3"
)
);Re: Problemas con los separadores de tiempoMe pregunto si estamos hablando de lo mismo, o hay una forma de usar expresiones regulares con la que no estoy familiarizado. Trataré de explicar nuestro problema más claramente.
Nuestros datos tienen un formato consistente (hh:mm:ss). ahi esta el separador siempre un colon Por ejemplo, el JMP en mi computadora funciona muy bien con este formato y puedo importar fácilmente estos datos simplemente seleccionando este formato en el menú de formato de entrada. Cuando mi colega intenta hacer lo mismo, el JMP en su computadora no reconoce los datos como tiempo. En su computadora, el formato de hora debe ser hh.mm.ss (punto como separador). Por lo tanto, para escribir un script para la importación, que funcione en ambas computadoras, primero tendríamos que identificar cuál es el formato de hora esperado por JMP en esa máquina en particular.
¿Se pueden usar expresiones regulares en el script para determinar el formato de entrada? Actualmente tendríamos que tener diferentes scripts para diferentes máquinas (uno con dos puntos y otro con punto).
Format( "y.m.d h:m:s", 22, 0 ), Informat( "y-m-d h:m:s", 0 )<BR />
Format( "y.m.d h.m.s", 22, 0 ), Informat( "y-m-d h.m.s", 0 )<BR />
¿Podemos usar esto en su lugar?
</CODE><CODE class=" language-jsl">Format( "y.m.d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 22, 0 ), Informat( "y-m-d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 0 )
Re: Problemas con los separadores de tiempoEs por eso que sugerí una expresión regular. Puede usar "[\.:]" o "\.|:" como parte de la expresión para la presencia del separador. No es necesario predeterminar qué formato se utilizó.
Re: Problemas con los separadores de tiempo¡Gracias por la sugerencia! Hemos intentado modificar los separadores y eso se puede hacer con bastante facilidad, pero no hemos descubierto una manera de detectar qué separadores espera el JMP ya que, dependiendo de la máquina en cuestión, pueden ser un punto o dos puntos. .
Re: Problemas con los separadores de tiempoPuede usar una expresión regular para hacer coincidir las partes de cualquiera de las opciones de formato junto con las funciones de caracteres para producir un valor de fecha y hora JMP consistente.