GeneXus - Poner en variable hora y fecha de hoy

 
Vista:

Poner en variable hora y fecha de hoy

Publicado por G (29 intervenciones) el 06/09/2011 19:51:28
Buenas, necesito poner en una variable X (datetime) la fecha y hora de hoy..

Estaba intentando poner YMDHMStoT pero no funcionó, ya qu enecesita año/mes/dia hora/min de valores..

Habria alguna forma de separar la variables &time y &today, por minutos, segundos, hora, mes y dia?
U otra forma de hacerlo? gracias desde ya
saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Poner en variable hora y fecha de hoy

Publicado por Lex Franco (101 intervenciones) el 06/09/2011 22:02:14
la variable &today es de tipo date
para separarla tienes que extraer en variables numericas(2) el mes y el dia con las funciones month() y day() y el año en una variable num(4) con la funcion year()

ejm:
//imagina tres variables de tipo numeric dos son numeric(2) y una numeric(4) llamadas &dia,&mes,&anno

//entonces tenemos que
&dia = day(&today)
&mes = month(&today)
&anno = year(&today)

//ahora si deseas las puedes converir en unos strings y concaternarlos para que queden en una sola variable

&fechachar = str(&anno,4,0)+str(&mes,2,0)+str(&dia,2,0)

//ahora como veras tienes una variable tipo char(8) la fecha concatenada


PODEMOS HACER JUSTAMENTE LO CONTRARIO PARA QUE VEAS QUE SE PUEDE HACER DE TODO

//tenemos la fecha char(8) y la queremos llevar a tipo date()

lo primero seria descomponer la fecha recuerda que el string tiene 8 posiciones y las primeras 4 representan el año y las siguientes dos el mes, y las siguientes dos el dia
entonces utilizamos las mismas tres variables numericas de arriba y dos funciones Gx una es substr() sirve para obtener una subcadena de una cadena de strings y la otra es la funcion val() que sierve para convertir de char a numeric

quedaria algo asi

&anno = val(substr(&fechachar,1,4)) //comienza de la posicion 1 y recorre 4 espacios
&mes = val(substr(&fechachar,5,2))
&dia = val(substr(&fechachar,7,2))


//luego ya tenemos los tres valores numeros y usamos la funcion YMDtoD() para converir tres numeros en una fecha

&today2 = YMDtoD(&anno,&mes,&dia)



Q LARGO JAJAJA, COMO VERAS DIMOS LA VUELTA A LA MANZANA CON ESTO PERO AHI HAY INFO QUE QUIZAS A ALGUIEN LE AYUDE Y RECUERDA CONSULTAR LA AYUDA DE GX PARA COMPRENDER MEJOR LAS FUNCIONES CASI TODO ESTA AHI
TU MEJOR AMIGO SIEMPRE SERA EL F1

por cierto para la variable &time estan las funciones hour() minute() second() pero gx ya ofrece una funcion llamada datetime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Poner en variable hora y fecha de hoy

Publicado por kevin (18 intervenciones) el 09/09/2011 18:35:06
define la variable x y asignala de la siguiente manera:

&x = Today() --> Te guardas la fecha

define la variable horas como character(8), &Hora como cahracter(2), &Minuto como cahracter(2), &Segundo como cahracter(2)
&Horas = Time() --> te guardas hora:minuto:segundo

&Hora = substr(&Horas, 2, 2) --> te guarda la hora
&Minuto = substr(&Horas, 4, 2) --> te guarda los minutos
&Segundo = substr(&Hora, 6, 2) --> te guarda los segundos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Poner en variable hora y fecha de hoy

Publicado por kevin (18 intervenciones) el 09/09/2011 18:39:13
Me falto la parte de concatenarla. No lo habia leido. Asi como lo iso Lex Franco esta perfecto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar