/ / Cómo trabajar con formato de fecha genérico - c #, datetime

Cómo trabajar con formato de fecha genérico - c #, datetime

Tengo el programa C # que funciona con la base de datos de acceso. (Tengo el campo de fecha y hora en el acceso - Fecha corta) ¿Cómo asegurarse de que el programa no se bloquee con el formato de fecha incorrecto?

por ejemplo: en mi computadora la fecha en este formato: dd / MM / aaaa y si ejecuto mi programa en una computadora que tiene este formato: MM / dd / aaaa El programa se bloqueará o me mostrará un resultado anormal.

¿Hay alguna solución genérica? ¿Puedo obtener cualquier código C # para esto?

gracias por adelantado

Respuestas

1 para la respuesta № 1

Valide su fecha antes de analizar usando DateTime.TryParse p.ej.

string myDate = "01/30/1970";
DateTime validDate;
if (DateTime.TryParse(myDate, out validDate))
{
// Good date, now stored in validDate
}
else
{
// Handle/Cleanup bad date.
}

0 para la respuesta № 2

Usted no debería tener que preocuparse por esto siutilizando System.DateTime. Access y .Net almacenarán la fecha como un valor numérico. En la parte frontal, puede formatear esto como desee. DateTime puede encargarse de los problemas de localización para que usted no tenga que hacer nada especial.


0 para la respuesta № 3
private DateTime ParseDate(string date)
{
DateTime convertedDate;

if (!DateTime.TryParseExact(date, "ddMMyyyy", new CultureInfo("en-US"),
DateTimeStyles.None, out convertedDate))

throw new FormatException(string.Format("Unable to format date:{0}", date));

return convertedDate;

}