Как проверить, прошло ли 20 минут с текущей даты?
Например:
var start = DateTime.Now;
var oldDate = "08/10/2011 23:50:31";
if(start ??) {
//20 minutes were passed from start
}
Какой лучший способ сделать это? Спасибо:)
Как проверить, прошло ли 20 минут с текущей даты?
Например:
var start = DateTime.Now;
var oldDate = "08/10/2011 23:50:31";
if(start ??) {
//20 minutes were passed from start
}
Какой лучший способ сделать это? Спасибо:)
Теперь вы можете сравнить свое время начала с текущим временем UTC, используя:
start.AddMinutes(20) > DateTime.UtcNow
Этот подход означает, что вы получите правильный ответ на изменение летнего времени.
Добавляя время к началу, вместо вычитания и сравнения общего времени на TimeSpan, у вас есть более читаемый синтаксис. И вы можете обрабатывать больше случаев разницы в датах, например. 1 месяц с начала, 2 недели с начала,...
Разберите oldDate
в объект DateTime
(DateTime.Parse
).
Вычтите анализируемую дату из start
. Это вернет a TimeSpan
.
Осмотреть TotalMinutes
.
var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31");
if(start.Subtract(oldDate) >= TimeSpan.FromMinutes(20))
{
//20 minutes were passed from start
}
var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31");
if ((start - oldDate).TotalMinutes >= 20)
{
//20 minutes were passed from start
}
Я смог выполнить это, используя библиотеку JodaTime в моем проекте. Я вышел с этим кодом.
String datetime1 = "2012/08/24 05:22:34";
String datetime2 = "2012/08/24 05:23:28";
DateTimeFormatter format = DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss");
DateTime time1 = format.parseDateTime(datetime1);
DateTime time2 = format.parseDateTime(datetime2);
Minutes Interval = Minutes.minutesBetween(time1, time2);
Minutes minInterval = Minutes.minutes(20);
if(Interval.isGreaterThan(minInterval)){
return true;
}
else{
return false;
}
Это будет проверять, является ли интервал времени между datetime1 и datetime2 GreaterThan 20 Minutes. Измените свойство на секунды. Вам будет легче узнать. Это вернет false.
var end = DateTime.Parse(oldDate);
if (start.Hour == end.Hour && start.AddMinutes(20).Minute >= end.Minute)