Pregunta

Estoy trabajando con una especificación que requiere un formato de fecha y hora peculiar que no necesariamente han tenido que trabajar con todavía.

A la hora del proceso, un OFX (1 no 2) de fecha y hora deberán marcarse (ya sea DTCLIENT o DTSERVER) en un formato como este:
    20,071,015,021,529.000

Sin embargo, en los ejemplos se muestra:

20071015021529.000[-8:PST]    

No tengo un problema con el primero mediante una instrucción de

DateTime.Now.ToString("yyyyMMddHHmmss.fff")

Incluso puedo encontrar la manera de llegar %z para obtener el desplazamiento correcto.

El código de zona horaria de tres letras es donde estoy tropezar. ¿Hay una manera fácil de conseguir esto en .net, o voy a terminar de escribir código para la producción y analizar lo que necesito?

¿Fue útil?

Solución

Es necesario averiguar exactamente cuales 3 códigos de letras que necesita. ¿Cuál sería Europe/Paris dan, por ejemplo? En lo personal, me gustaría convertir los datos a UTC y el formato de esa manera, a menos que realmente se necesita para conservar la información de zona horaria.

Otros consejos

Los códigos de zona horaria de tres letras no son exclusivos de un país a otro y no están completamente estandarizados. Por ejemplo, "CCT" puede ser la abreviatura de "Central Standard Time (EE.UU.)" o "hora estándar chino". Que es correcta depende de la configuración regional.

Que yo sepa, no hay ninguna funcionalidad integrada en el .NET Framework para buscar los códigos de este tipo, por lo que tendrá que aplicar por sí mismo.

Además (pero usted probablemente sabe esto), es necesario tener cuidado acerca de cómo se implementa esta funcionalidad. No hay necesariamente una correspondencia uno a uno entre los desfases de UTC y códigos de zona horaria. Por ejemplo, GMT-0700 podría ser de Estados Unidos Mountain Standard Time (MST) o Pacífico de Estados Unidos de verano (PDT).

Si va a utilizar r que le dará formato RFC. Va a ayudarte.

String.Format("{0:r}", dt);  // "Sun, 09 Mar 2008 16:05:07 GMT"   RFC1123

También puede comprobar esto SO enlace , si se le puede ayudar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top