Преобразование SqlDateTime в DateTime в C#: методы и примеры

В C# работа с датами и временем — обычная задача, и иногда вам может потребоваться преобразовать объект SqlDateTime в обычный объект DateTime. В этой статье блога мы рассмотрим несколько методов достижения такого преобразования, а также примеры кода. Давайте погрузимся!

Метод 1: использование метода DateTime.ParseExact()

SqlDateTime sqlDateTime = // Your SqlDateTime object;
DateTime dateTime = DateTime.ParseExact(sqlDateTime.ToString(), "yyyy-MM-dd HH:mm:ss.FFF", CultureInfo.InvariantCulture);

Метод 2: использование метода DateTime.TryParseExact()

SqlDateTime sqlDateTime = // Your SqlDateTime object;
DateTime dateTime;
if (DateTime.TryParseExact(sqlDateTime.ToString(), "yyyy-MM-dd HH:mm:ss.FFF", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
{
    // Conversion successful
}

Метод 3: использование метода DateTime.FromOADate()

SqlDateTime sqlDateTime = // Your SqlDateTime object;
DateTime dateTime = DateTime.FromOADate(sqlDateTime.Value.TotalDays);

Метод 4. Использование конструктора DateTime

SqlDateTime sqlDateTime = // Your SqlDateTime object;
DateTime dateTime = new DateTime(sqlDateTime.Value.Ticks);

Метод 5: использование свойства SqlDateTime.Value

SqlDateTime sqlDateTime = // Your SqlDateTime object;
DateTime dateTime = sqlDateTime.Value;

Метод 6. Использование оператора неявного преобразования

SqlDateTime sqlDateTime = // Your SqlDateTime object;
DateTime dateTime = sqlDateTime;

В этой статье мы рассмотрели несколько методов преобразования объекта SqlDateTime в объект DateTime в C#. В зависимости от ваших потребностей и предпочтений вы можете выбрать наиболее подходящий для вашего сценария метод. Не забудьте обработать любые потенциальные исключения, которые могут возникнуть в процессе преобразования.