HOWTO · Csharp

Convertir cadena a fecha y hora en C#

En esta guía, aprenderemos cómo convertir una cadena en una fecha y hora en C#.

En esta página

Esta guía nos enseñará a convertir una cadena en una fecha y hora en C#. También podemos convertir una cadena a fechahora en un formato específico, por ejemplo, yyyy-mm-dd hh mm ss.

Necesitamos estar familiarizados con CultureInfo para entender esto. Sumerjámonos en esta guía y aprendamos todo al respecto.

Convertir cadena a fecha y hora en C#

Para convertir una cadena a fecha y hora, ya sabemos que la cadena debe escribirse en un formato específico. Un formato que muestra claramente el día, el mes y el año.

Solo entonces procederíamos con esto como se mencionó anteriormente; este método requiere conocimientos sobre CultureInfo. Entendamos eso primero.

En primer lugar, debe importar usando System.Globalization; biblioteca para utilizar la información cultural y sus funciones.

La sintaxis es la siguiente: CultureInfo. CultureInfo contiene la información de la cultura, el sistema de escritura, los nombres de la cultura, el orden de clasificación de las cadenas y el formato real de fechas y números.

Los objetos que contiene son devueltos por propiedades como CompareInfo. Las culturas se agrupan en una de las tres culturas invariantes.

El DateTimeFormat y el NumberFormat también reflejan convenciones de formato y comparación de cadenas.

Obtenga más información sobre CultureInfo en esta referencia.

Debe pasar su cadena escrita específica dentro de un DateTime.ParseExact() junto con el formato y la información cultural.

Una vez que haya escrito la cadena en un formato específico, debe hacer coincidir el mismo formato mientras lo pasa dentro de DateTime.ParseExact(). Ahora, comprendamos el código y la implementación de convertir una cadena en una fecha y hora.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;  /// To use CultureInfo

namespace String_To_Date_Time {
  class Program {
    static void Main(string[] args) {
      // First Method Using DateTime.ParseExact;
      string str = "2022-11-22 13:22";
      DateTime d = DateTime.ParseExact(str, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);
      // Throws Exception if the Format Is Incorrect...
      Console.WriteLine(d);
      Console.Read();
    }
  }
}

Pasamos la cadena str dentro de la función y el mismo formato definido en una cadena. Si la cadena escrita no tiene un formato correcto, esta función lanzará la excepción diciendo que el formato es incorrecto.