Разница между заданной и текущей датой?

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 112
Благодарностей
196
Баллы
63
Всем привет
C#:
DateTime dt = DateTime.Parse(project.Variables["mod_time_from"].Value);
    DateTime now = DateTime.Now;
    var days = (now - dt).Days;

    if(dt <= now){
        return "Стартуем шаблон";
    }else{
        project.SendWarningToLog("Время запуска еще не наступило", true);
    }
нашел на форуме код, немного под себя переделал.
на вход в переменную идет дата в формате: 29:12:2019 0:18

Постоянно лезет ошибка:
Выполнение действия CSharp OwnCode: проверяем время работы. Строка не распознана как действительное значение DateTime.
Как ее можно решить?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 764
Благодарностей
2 407
Баллы
113
Нужно явно указывать формат, в котором будет дата.
Код:
string format = @"dd:MM:yyyy HH:mm"; // 26/12/2021 12:00:19
string[] dates = new []{@"27:12:2019 00:00", @"28:12:2019 00:00",@"29:12:2019 00:00",@"30:12:2019 00:00",@"31:12:2019 00:00" };
foreach (string times in dates) {
TimeSpan ts = new TimeSpan();
    DateTime baseDt = DateTime.Now;
    try{     
        DateTime d = DateTime.ParseExact(times, format, System.Globalization.CultureInfo.InvariantCulture);
        ts = baseDt - d;
    }
    catch (FormatException) {
        ts = baseDt - baseDt;
    } 
    int days = ts.Days; //
    bool check = days > 0;
   
project.SendWarningToLog(string.Format(@"{0} {1} {2}", times, days, check ? "Время запуска еще не наступило" : "Стартуем шаблон"), true);
}
 
Последнее редактирование:
  • Спасибо
Реакции: artsmm и Santorini

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)