Почему при парсинге даты получаю различные значения?

Обращаюсь к внешнему API, получаю ответ. В ответе есть дата, я сохраняю файл с данными с именем "дата в ответе". Вот так:

var response = await GetFromApiOnDate(date, token);
var fileDate = response.Item1.ToString("yyyy-MM-ddTHH-mm-ssZ");
data = response.Item2;
await SaveCacheJsonAsync($"{DirectoryPath}/{fileDate}.json", data);

При попытке парсинга даты из названия файла я получаю другую дату, нежели ту, что записана в имени. Вот пример как происходит парсинг:

var filesOnDate = files.Where(f =>
{
    var fileDate = DateTime.ParseExact(
        Path.GetFileNameWithoutExtension(f.Name),
        "yyyy-MM-ddTHH-mm-ssZ",
        CultureInfo.InvariantCulture);

    return DateOnly.FromDateTime(fileDate) == date;
});

В fileDate получаю: fileDate

Хотя на самом деле файл называется: Дата

Как исправить это? И почему так происходит? Я так понимаю тут как то зависит от timeZone, хотя не знаю. Пробовал полученную дата преобразовывать в utc с помощью ToUniversalTime(), но не помогло.


Ответы (0 шт):