2010-06-29 11 views
8

El formato de representación de cadena internacional es (AAAA-MM-DD HH: MM: SS ± HHMM).¿Cómo formatearías DateTime en formato internacional?

p. Ej. 2010-06-10 21:21:10 -0400

básicamente el problema que estoy teniendo es encontrar la manera de obtener la diferencia respecto a GMT.

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); 
String.Format("{0:yyyy-MM-dd HH:mm:ss ????}", dt); 

Respuesta

13
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss zzz"); 

la Salida:

2010-06-29 08:25:16 -07:00 
+0

perfecto. Gracias. Puedo quitar el: bastante fácil. – Aaron

+0

@ Aaron: El formato '± HH: mm', que incluye un': ', es legal en ISO8601. – LukeH

+0

es legal, pero no es el formato objetivo-c utiliza. – Aaron

0

Creo que se muestra en el horario. Esa -4 es la diferencia de GMT.

Oh, ya veo, lo siento mal entendido la pregunta.

1

Me gustaría ir con ISO format.

Y el W3C tiene también una nota sobre el tema: Date and Time Formats.

Estos son los estándares internacionales.

+0

que probablemente sería mejor, pero estoy tratando de pasar la fecha de ida y vuelta desde Objectivo-c. – Aaron

0

¿Cómo dar formato a DateTime en formato internacional?

Puede usar un custom format specifier (no hay formatos estándar para formatos de fecha/hora estándar ISO).

el problema que estoy teniendo es averiguar cómo obtener la diferencia de GMT.

Parse usando uno de los métodos estáticos DateTimeOffset 's, y a continuación, comprobar la propiedad Offset.

O si quiere decir, cómo incluir el desplazamiento en la cadena: use DateTimeOffset con la zona horaria correcta y un especificador de formato personalizado.

0

cadena isoFormat = inputDateTime.Format ("s");

Cuestiones relacionadas