Как получить месяц из даты Excel в C#

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2023

К примеру у меня в экселе в ячейке есть дата "26.01.2023", мне нужно перенести только месяц, то есть "01" и занести его в переменную. Как это сделать?

Ответы

▲ 1Принят

Вариант с DateTime.ParseExact()

using System;
using System.Globalization;

class Test {
  static void Main() {
    string data = "26.01.2023", format = "dd.mm.yyyy";
    Console.WriteLine(DateTime.ParseExact(data,format,CultureInfo.InvariantCulture).Month);
  }
}

Поскольку дата в ячейке Excel - это число с двойной точностью (Double), то посмотрите ещё в сторону DateTime.FromOADate. Извлекать значение из ячейки Excel в этом случае нужно с помощью .Value, а не .Text.
введите сюда описание изображения

using System;

class Test {
  static void Main() {
    double data = 44952; // в Excel == 26.01.2023
    Console.WriteLine(DateTime.FromOADate(data).Month);
  }
}

Результат:

1