[ad_1]
Hola
Quiero convertir la cadena str a DateTime, str=”2024/22/03″
EL FORMATO DEL SISTEMA de mi computadora es m/d/yyyy
Quiero la Fecha_1 en formato aaaa/MM/dd
Fecha_1 = Convert.ToDateTime(cadena, “aaaa/MM/dd”);
Lo que he probado:
str = "2024/12/03"; Date_1 = Convert.ToDateTime(str, "yyyy/MM/dd");
Solución 1
Método DateTime.ParseExact (Sistema) | Microsoft aprende[^] hará lo que quieras:
C#
string str = "2024/22/03"; // Parse the string into a DateTime object with the specified format DateTime dateTime = DateTime.ParseExact(str, "yyyy/dd/MM", null); // Format the DateTime object into the desired format string formattedDate = dateTime.ToString("yyyy/MM/dd"); Console.WriteLine("Original string: " + str); Console.WriteLine("Formatted date: " + formattedDate);
y la salida:
Original string: 2024/22/03 Formatted date: 2024/03/22
Solución 2
Para agregar a lo que Graeme ha dicho, una mejor solución es usar Método DateTime.TryParseExact (Sistema) | Microsoft aprende[^] en su lugar, de esa manera podrás detectar errores en lugar de que tu aplicación falle si los datos no están en el formato esperado por algún motivo:
C#
DateTime dt; if (!DateTime.TryParseExact(str, "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { ... report or log the problem return; } ... dt contains a valid date set at midnight here
[ad_2]
コメント