Clarion - Fecha en formato @N-13 pasar a Date o @D6

 
Vista:
sin imagen de perfil

Fecha en formato @N-13 pasar a Date o @D6

Publicado por Osvaldo Ernesto (71 intervenciones) el 11/11/2019 14:57:36
Hola , existe alguna rutina o manera de traspasar por codigo el formato de un campo @N-13 a @D6
YA QUE AL TRASPASAR via ODBC a otro motor los formatos van en numeo , es como para saber que fecha corresponde el numero.

Saludos , gracias
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
sin imagen de perfil
Val: 403
Oro
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

Fecha en formato @N-13 pasar a Date o @D6

Publicado por Marcelo Madelón (299 intervenciones) el 12/11/2019 14:36:06
Osvaldo

La fecha Juliana está en cantidad de dias desde la creación de Roma y fue Julio Cesas quien la introdujo.
Por lo tanto la fecha:

80029 Corresponde al 07/02/2020 y 80029 son la cantidad de dias desde la fundación de Roma.
Tengo entendido que si moves el campo N-13 a D06 Clarion te hace la transformación.


Te paso un código
Obtener la fecha del server
Este código lee la fecha del servidor, usando el truco de crear un archivo en el servidor y leer la fecha y hora de los atributos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
!Data
LOC:TMP STRING(254),STATIC
TMP FILE,DRIVER('Ascii'),CREATE,NAME(LOC:TMP)
RECORD  RECORD
LIN STRING(1)
   .
   .
FILS   QUEUE(File:queue),PRE(FIL)
      END
CODE
 LOC:TMP = PATH()&'\TMP'&RANDOM(10000,99999)&'.TMP'
 CREATE(TMP)
 IF NOT ERRORCODE()
   DIRECTORY(FILS,LOC:TMP,0)
   REMOVE(TMP)
   GET(FILS,1)
   IF TODAY() <> FIL:DATE OR ABS(CLOCK()-FIL:TIME) > 100
!FECHA DIFERENTE O 1 SEGUNDO DE DESFASE
     SETTODAY(FIL:DATE)
     SETCLOCK(FIL:TIME)
   END
 ELSE
   REMOVE(TMP)
 END
Carlos Gutierrez
Con SQL
La sugerencia de Carlos es muy buena. Si estás usando SQL o drivers ODBC, la otra opción es preguntarle la fecha al motor de base de datos.
La forma genérica de hacerlo es:
temp{prop:sql}='SELECT {fn curdate() }'
Con NET TIME
Posteado por Diego Sánchez al foro.
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