que tienen una cadena con el siguiente formato yyyyMMdd
y yo estoy tratando de llegar a tener este aspecto:Convertir 20121004 (aaaamMMdd) a una fecha válida?
yyyy-MM-dd
Cuando intento:
string date = "20121004";
Convert.ToDateTime(date).ToString("yyyy-MM-dd");
me sale el error:
FormatException: String was not recognized as a valid DateTime.
¿Funcionó o funcionaría int o un problema:
private string GetValidDate(string date,string format)
{
DateTime result;
if(DateTime.TryParseExact(date, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
return date;
}
else if(DateTime.TryParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
return DateTime.ParseExact(date, "yyyyMMdd",
CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
}
else
{
return "Invalid Date Format";
}
}
¿Se le garantiza el formato aaaamMMdd en la cadena de origen? Si es así, ¿por qué no usar simplemente los métodos de cadena para agregar los guiones? – jglouie
Pensé en eso. ¿Cuál es el mejor método para eso? – Xaisoft
Hay una respuesta basada en cadenas a continuación. Parece bastante razonable – jglouie