Convierta el texto de la hora AM/PM al formato de hora de 24 horas, sin JSLHola,
Tengo problemas para convertir valores como
20:49:46
10:30:46 a. m.
de columna de caracteres a formato numérico h:m:s 24h.
Me gustaría ejecutar la conversión sin JSL y sin depender del formato de hora del sistema operativo.
Por favor asiste.
Saludos,
Tomás.
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSLEsa fórmula falla para ciertas condiciones:
Hora_1: 16/06/2022 11:20:49 a. m.
Hora_2: 16/6/2022 12:45:13 p. m.
Si consideramos Time_1 ganaremos --> 16/06/2022 11:20:49
Sin embargo, si consideramos Time_2 ganaremos --> 16/7/2022 00:45:13 (cambiando al día equivocado).
¿Hay alguna manera fácil de convertir una marca de tiempo como Time_1 o Time_2 en un número continuo en lugar de una cadena?
saludos sven
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSL@tom_abramov ,
Tienes una solución de @EM respuesta.Sin embargo, tenemos versiones de JMP muy diferentes o no nos comunicamos muy bien, así que esta es una respuesta FYI.
Su captura de pantalla mostró un modelo nominal, pero solo mostró la hora, 08:49:46 p. m. Si esta columna era numérica, no de caracteres, entonces Información() devolverá un vacío porque su argumento debe ser una cadena/carácter.Por lo tanto, es importante especificar si sus datos son numéricos o de caracteres, o adjuntar una tabla de datos de muestra.
Si su columna entrante es una columna de fecha y hora con formato de hora y es numérica, le sugiero que cree una nueva columna usando la función/fórmula Hora del día (columna 1) luego formatee esa nueva columna como Duración.Incluso cuando una columna está formateada solo como tiempo, si quisiera encontrar el tiempo entre, digamos, la fila 1 y la fila 2 y de la columna DateTime simplemente formateada como tiempo, incluiría la cantidad de días, los datos subyacentes siguen siendo fecha y hora.
En el menú principal, seleccione Ayuda > Índice de secuencias de comandos > Funciones > Fecha y hora. Hay secuencias de comandos de ejemplo que puede ejecutar para ver cómo funciona cada función, ya sea que su argumento sea una cadena o un número.Esta es una manera fácil de aprender más. para su información
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSLGracias, está bien con la fórmula.
Probablemente no hay manera sin fórmula...Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSLProbablemente sea el "PM" lo que hace que falle. Información() debería funcionar si usa solo la parte de tiempo de la cadena, por ejemplo, usando el Izquierda() y condicionalmente correcto para AM/PM.
Prueba esta fórmula:
Informat(Left(:Column 1, 8), "h:m:s") + If(Contains(:Column 1, "AM"), 0, In Hours(12))
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSL¿Cuál es el tipo de datos de la columna 1? Puedo ver que el tipo de modelado es nominal. Si la Columna 1 es Numérica y Nominal, Informat devuelve un vacío().
Si la columna ya es numérica, simplemente cambie el Formato de la Columna 1 a Duración.
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSLGracias,
Estoy usando JMP 14 Pro.
Todavía me faltan valores: vea la captura de pantalla adjunta.
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSL¿Qué versión de JMP estás usando? Hubo una versión en la que la conversión en el lugar no funcionó.
Le sugiero que cree una nueva columna y use la función Informat( Trim(your_char_column), "h:m:s"). Esto debería devolver números y luego cambiar el formato de esa columna a Duración > hr:m:s. El Recortar() La función eliminará los espacios y otros caracteres no imprimibles. Espero que funcione.
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSLGracias, pero desafortunadamente, me faltan valores después de los cambios que mencionaste...
Re: Convertir texto de hora AM/PM a formato de hora de 24 horas - sin JSLSi su columna es de carácter, entonces puede hacer esto con apuntar y hacer clic. Haga clic derecho en la columna y siga todos estos pasos antes de presionar Aceptar
- Seleccione Tipo de datos > Numérico,
- Tipo de modelado > Continuo,
- Formato > Duración > hr:m:s
Si no quiere arriesgar la columna actual, cree una nueva columna que sea numérica y continua, y use la fórmula Informat(char_column, "hr:m:s"). Luego cambie el formato a Duración.