Despliegue fechas


([N1] Spicer) #1

Estimados,

Tengo un problema muy tonto, pero que me tiene de cabeza. En una tabla dispongo de un campo #TIMESTAMP de tipo tiempo, el que debo exportar mediante Cirrus.

En mi computador (Win8), al hacer #TIMESTAMP.FieldToString obtengo 06-01-2016 12:07:23
En el servidor (Win2008R2), al hacer lo mismo, obtengo 1/2/2016 3:53:42 PM

Lo extraño del caso es que las propiedades de región, locale y formato de fecha y hora están configuradas exactamente igual (lo verifiqué pantalla por pantalla desde el panel de control).

El hecho que las salidas de fecha y hora tengan forma distinta me tiene vuelto loco…!
¿Alguien podría darme alguna idea?

Mil gracias


([N1] Daniel) #2

Buenas, no sé si será por lo que te voy a comentar, pero a mi me ocurrió algo parecido en el pasado y era eso.

En tu pc con windows 8, el idioma nativo del sistema operativo es muy probable que sea Español, pero en tu Win 2008 R2 server, el idioma nativo será más que probable, el Inglés.

En una ocasión, programando en VB .Net tropecé con este mismo problema, con el windows xp media center (que es originalmente inglés y se instalan paquetes de idiomas posteriormente para ponerlo en el idioma deseado).

¿Qué tiene que ver esto? Pues que las funciones de fechas que usas, detectan incorrectamente el idioma, independientemente de la configuración regional que tengas establecida.


([N1] Spicer) #3

Estimado Daniel,

Muchas gracias…!
Efectivamente, parece ser eso. El paquete de idiomas está en en link más abajo. Lo pruebo y te cuento

https://www.microsoft.com/es-es/download/confirmation.aspx?id=2634


([N3] pacosatu) #4

Hola Spicer.

Ha sido siempre misión del programador independizar la gestión de las fechas de la máquina que se esté usando.
Olvídate de instalar rebuscadas y obsoletas librerías y procura trabajar siempre con nomenclatura estándar independiente de la máquina.

Para este caso tenemos 2 funciones:

  • en Velneo nativo la función dateTimeToString estandariza la salida de fecha/hora.
  • en el API de Velneo la función JavaScript toISOString() aplicada a una variable de tipo Date, estandariza igualmente la salida fecha/hora.

De esta forma usas siempre cadenas de fecha/hora estándar e independientes de la máquina y se acaban los problemas.

Saludos
Paco Satué


([N1] Spicer) #5

Estimado Paco,

Muy buena aportación, gracias. Yo tengo el manual de scripts de la 7.17 y no aparece esa función… ¿es nueva en la 7.18?


([N1] Spicer) #6

Bien, gracias a soporte pude resolver la incidencia sin tener que cambiar la aplicación.
Ocurre que por defecto en Win2008R2 las cuentas de servicio y de administración no usan la configuración regional a menos que uno lo haga explícitamente.

Hay que hacer lo descrito en este link
http://roldancer-tecnologia.blogspot.com.es/2011/03/apply-regional-and-language-settings-to.html)

Gracias a todos!