Estoy leyendo texto de un archivo plano en C# y necesito comprobar si ciertos valores son fechas. Podrían estar en formato AAAAMMDD o en formato MM/DD/AA. ¿Cuál es la forma más sencilla de hacer esto en .Net?Convierta una cadena en una fecha en .net
Respuesta
string[] formats = {"yyyyMMdd", "MM/dd/yy"};
var Result = DateTime.ParseExact(input, formats, CultureInfo.CurrentCulture, DateTimeStyles.None);
o
DateTime result;
string[] formats = {"yyyyMMdd", "MM/dd/yy"};
DateTime.TryParseExact(input, formats, CultureInfo.CurrentCulture, DateTimeStyles.None, out result);
Más información en la documentación de MSDN en ParseExact y TryParseExact.
DateTime.TryParse método
Como no puedo editar su respuesta, pensé que podría ser útil proporcionar un enlace al artículo de MSDN para ese método. http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx –
[@Yadyn]: pensé que el intellisense sería suficiente, pero está bien, agregué el enlace para ser completo, ¡gracias! –
También se puede hacer Convert.ToDateTime
no está seguro de las ventajas de uno u otro
Usando TryParse no será una excepción si se produce un error. Además, TryParse devolverá True/False, lo que indica el éxito de la conversión.
Saludos ...
usted podría intentar también TryParseExact para establecer el formato exacto. método, aquí hay documentación: http://msdn.microsoft.com/en-us/library/ms131044.aspx
p.
DateTime outDt;
bool blnYYYMMDD =
DateTime.TryParseExact(yourString,"yyyyMMdd"
,CultureInfo.CurrentCulture,DateTimeStyles.None
, out outDt);
Espero te ayude.
¡Tío! Eso es muy útil, perdí casi una hora por esto, aunque sé que lo hice antes en alguna parte. – NeedHack
Puede utilizar el método TryParse para verificar la validez y analizar al mismo tiempo.
DateTime output;
string input = "09/23/2008";
if (DateTime.TryParseExact(input,"MM/dd/yy", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out output) || DateTime.TryParseExact(input,"yyyyMMdd", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out output))
{
//handle valid date
}
else
{
//handle invalid date
}
- 1. Convierta una fecha en cadena en Javascript
- 2. Convierta una cadena a una fecha en C++
- 3. Convierta una fecha de cadena a una marca de hora
- 4. Convierta una cadena a una fecha y hora
- 5. Convierta una fecha juliana en una fecha normal de calendario
- 6. Powershell: Convierta un objeto en una cadena
- 7. Python: Convierta una cadena en un entero
- 8. Convierta una lista en una cadena en C#
- 9. Convierta una lista de caracteres (o matriz) en una cadena
- 10. Convierta una fecha mySQL a la fecha de Javascript
- 11. ¿Cómo asignar una cadena a una fecha en Automapper?
- 12. Convierta un entero en una cadena con signo en Ruby
- 13. Convierta una cadena hexadecimal en un byte en Java
- 14. Convierta una cadena en entero con decimal en Python
- 15. Convierta un objeto a una cadena XML
- 16. Convierta una matriz a HashSet <T> en .NET
- 17. Convierta un nombre de usuario a una cadena de SID en C# /. NET
- 18. Convertir una cadena en una fecha en DB2
- 19. Convierta la cadena de javascript en una matriz
- 20. Convierta una cadena al código en el Esquema
- 21. Convierta una cadena de entrada de usuario en mayúscula Java
- 22. Convierta una cadena a flujo de entrada XML en java
- 23. ¿Cómo convierto una fecha a una fecha con formato HTTP en .Net/C#
- 24. Convierte una cadena de fecha en AAAAMMDD
- 25. Android: formato de fecha en una cadena
- 26. Convierta una Cadena en una matriz de bytes y luego vuelva a la Cadena original
- 27. Convierta objeto en cadena JSON
- 28. Convierta LPWSTR en la cadena
- 29. Cómo convertir una cadena a una fecha en sybase
- 30. reemplazar una fecha JSON en una cadena a una fecha más legible
Esto es mejor que el mío. No sabía que podría hacer una matriz de cadenas para formatos. ¡Muy agradable! –
¡Mejor aún! Justo lo que necesitaba. – JoshL
Asegúrate de verificar el valor de retorno de DateTime.TryParseExact (...) ya que esa será la única forma de saber si tuvo éxito o no. –