stringToDate


([N1] vlinares) #1

Buenos días,
Quiero importar una cadena en formato “Jun. 9 2016 09:00AM” a dos variables FECHA ( variable formato fecha) y HORA (varaible formato hora).
para esto:
set (FECHA, stingToDate (TIEMPO, “MMM d yyyy h:mmAP”));
set (HORA, stringToTime (HORA, “MMM d yyyy h:mmAP”));

pero no me devuelve nada.
¿Que es lo que estoy haceindo mal?.
Saludos
Vicente


([N2] jorge) #2

Hola Vicente,

Yo haría lo siguiente:

Siendo TIEMPO “Jun. 9 2016 09:00AM”
set (FECHA, stingToDate (left(TIEMPO,11), “MMM d yyyy”));
set (HORA, stringToTime (right(TIEMPO,7), “h:mmAP”));

Un saludo,

Jorge



([N1] vlinares) #3

Gracias…

Lo que he visto en la documentación no estaba claro.

Ojo con las fechas, si llega 9:00 no lo convierte, siempre hay que ponerle el 0 delante, aunque le pases como parámetros
H:MMAP

Saludos

Vicente


([N3] pacosatu) #4

Hola.

Podemos mejorar la obtención de fecha y hora desde una cadena usando expresiones regulares:

Set ( CCADENA, “La fecha de la vCena es Jul. 21 2016 a las 8:30PM” )
Set ( DFECHA, stringToDate(getStringRegExp(CCADENA, “\w{3}[.] \d{1,2} \d{4}”, 0, 0, 0), “MMM d yyyy”) )
Set ( HHORA, stringToTime(getStringRegExp(CCADENA, “\d{1,2}[:]\d{1,2}\w{2}”, 0, 0, 0), “h:mAP”))
Mensaje ( "La cadena es -> " + CCADENA + "\n\nLa Fecha es -> " + DFECHA + "\nLa Hora es -> " + HHORA + “h.”, Información, , )

Saludos
Paco Satué


([N3] pacosatu) #5

Hola.

Complicándolo un poco más.

Set ( CCADENA, “La vCena es en la fecha Jul. 21 2016, cervezas a las 8:30PM y la cena a las 9:00PM” )
Set ( DFECHA, stringToDate(getStringRegExp(CCADENA, “\w{3}[.] \d{1,2} \d{4}”, 0, 0, 0), “MMM d yyyy”) )
Set ( HHORA, stringToTime(getStringRegExp(CCADENA, “(\d{1,2}[:]\d{1,2}\w{2}).+(\d{1,2}[:]\d{1,2}\w{2})”, 0, 0, 1), “h:mAP”) )
Set ( HHORA1, stringToTime(getStringRegExp(CCADENA, “(\d{1,2}[:]\d{1,2}\w{2}).+(\d{1,2}[:]\d{1,2}\w{2})”, 0, 0, 2), “h:mAP”) )
Mensaje ( CCADENA + "\n\nLa Fecha de la vCena es -> " + DFECHA + "\nLas cervezas a las -> " + HHORA + "h.\nLa cena a las -> " + HHORA1 + “h.”, Información, , )

Extraemos 2 horas del String mediante el parámetro NumSubExpresión de la función getStringRegExp.

Saludos
Paco Satué


([N1] vlinares) #6

Buenas tardes…
Muchas gracias por la respuesta.
la función getStirngRegExp… la veo muy interesante, pero ¿donde podría encontrar documentación?, me gustaria sabe lo que significa el calificado “w”, aunque así a simple vista se intuya, pero imagiono de debe haber más.
Por otra parte si intento importar una fecha con el día de 1 solo dígito no lo importa.
Saludos
Vicente


([N1] wikan) #7

Son expresiones regulares, una búsqueda en Google te dará toda la información que necesitas.
En este caso significan carácteres y la d son digitos.