Logan Risen Ответов: 2

Проверка, прошло ли 3 дня


Эй, я пытаюсь сравнить 2 даты, чтобы увидеть, прошло ли уже 3 дня. Я использую для этого время UTC. По какой-то причине это не работает, и я продолжаю чесать голову, почему.

Что я уже пробовал:

DateTime time = DateTime.Parse("6/20/2018 4:38:26 AM");


if (DateTime.UtcNow > time.AddDays(3))


Если бы кто-то мог помочь мне с этим утверждением if, это было бы здорово!

2 Ответов

Рейтинг:
2

User 7429338

Сравнение выглядит нормально и ведет себя так, как и ожидалось на моей машине.

Проблема может заключаться в интерпретации даты. Он анализирует дату на основе настроек даты вашего компьютера. На моем компьютере (голландский, nl-NL) он выдает исключение, если я тоже не:

- Изменение формата:

DateTime time = DateTime.Parse("20-06-2018 04:38:26");


- Установите культуру потока на en-US:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");


Рейтинг:
16

Steve Mayfield

Может быть, попробуем это:

if (DateTime.Compare(DateTime.UtcNow, time.AddDays(3)) > 0)


Logan Risen

Хорошо, спасибо. Оказывается, я был полным дураком, так как другой код тоже работал. Я продолжал двигать дату вперед, а не назад...