Как получить месяц из даты Excel в C#
К примеру у меня в экселе в ячейке есть дата "26.01.2023", мне нужно перенести только месяц, то есть "01" и занести его в переменную. Как это сделать?
Источник: Stack Overflow на русском
К примеру у меня в экселе в ячейке есть дата "26.01.2023", мне нужно перенести только месяц, то есть "01" и занести его в переменную. Как это сделать?
Вариант с 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