system.datetime

22/11/2007 - 17:06 por rubenc | Informe spam
Hola
Tenga una variable string con fecha

string c="11/29/2007"; //mm/dd/aaaa

y cuando utilizo la funcion

System.DateTime FechaEntrada =System.DateTime.Parse(c);
pero me da error de rango de fecha erroneo debido a que el formato de fecha
del sistema operativo es diferente: dd/mm/aaaa

¿como puedo hacer para ignorar el formato de fecha del SO y usar siempre por
ejemplo mm/dd/aaaa?

Gracias

Muchas Gracias

Ruben Carreon
 

Leer las respuestas

#1 Luis Miguel Blanco
22/11/2007 - 19:29 | Informe spam
Hola Rubén

Una forma de abordar este problema consistiría en obtener la información
cultural del S.O., la cual reside en un objeto CultureInfo en la hebra
principal de la aplicación.

A continuación instancias un objeto de tipo DateTimeFormatInfo al que le
asignas la cadena de formato de fecha en su propiedad FullDateTimePattern.
Este objeto deberás después asignarlo a la propiedad DateTimeFormat del
CultureInfo, y este último, de nuevo a la hebra principal de la aplicación. A
partir de ese momento, cuando muestres una fecha formateada mediante su
método ToString, se usará el formato que anteriormente has especificado. Te
adjunto un pequeño ejemplo para que puedas probarlo.

//
using System.Globalization;
using System.Threading;
//

CultureInfo ci = new CultureInfo(Thread.CurrentThread.CurrentCulture.LCID);

DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
dtfi.FullDateTimePattern = "MM/dd/yyyy";
ci.DateTimeFormat = dtfi;

Thread.CurrentThread.CurrentCulture = ci;

DateTime dtFecha = new DateTime(2007, 11, 29);

MessageBox.Show(dtFecha.ToString("F"));
//

Espero que te sea de utilidad.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"rubenc" wrote:

Hola
Tenga una variable string con fecha

string c="11/29/2007"; //mm/dd/aaaa

y cuando utilizo la funcion

System.DateTime FechaEntrada =System.DateTime.Parse(c);
pero me da error de rango de fecha erroneo debido a que el formato de fecha
del sistema operativo es diferente: dd/mm/aaaa

¿como puedo hacer para ignorar el formato de fecha del SO y usar siempre por
ejemplo mm/dd/aaaa?

Gracias

Muchas Gracias

Ruben Carreon

Preguntas similares