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

artsmm

Client
Joined
Oct 3, 2018
Messages
1,142
Reaction score
196
Points
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
Joined
Nov 8, 2015
Messages
1,906
Reaction score
2,658
Points
113
Нужно явно указывать формат, в котором будет дата.
Code:
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);
}
 
Last edited:

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)