2014-08-08 4 views
2

Я пытаюсь проверить, существует ли хотя бы минута между двумя датами. Я создал игру в C# и ограничил часть своей игры раз в минуту каждый раз, когда эта команда выполнена без пробеловC# Проверьте, существует ли минута между двумя датами времени

Проблема в том, что она делает это, даже если это не было минуты?

public void _CheckIfBeenAMinute 
{ 
    string TimeStamp; 

    using (IQueryAdapter dbClient = SilverwaveEnvironment.GetDatabaseManager().getQueryreactor()) 
    { 
     dbClient.setQuery("SELECT game_timestamp FROM users WHERE id=" + Session.Id + ""); 
     TimeStamp = dbClient.getString(); 
    } 

    DateTime TimeStamp_Converted = Convert.ToDateTime(TimeStamp); 

    if (TimeStamp_Converted > DateTime.UtcNow.AddMinutes(-1)) 
    { 
     //It has been a minuted... 
     //But the problem is, i it hasnt been it still does this? 

     this.SendMessage("You have reached your limit today"); 
     return; 
    } 
} 

EDIT: Я решил использовать временные интервалы. Но когда я пытаюсь получить секунды промежутка времени после того, как он достиг 60, он сбрасывается?

+0

возможно дубликат [C# Сравнение времени между двумя интервалами времени] (http://stackoverflow.com/questions/10631044/c-sharp -compare-time-between-two-time-interval) –

+1

Каковы ваши значения для 'TimeStamp_Converted' и' DateTime.UtcNow' – lincolnk

ответ

3

Попробуйте

if ((DateTime.UtcNow - TimeStamp_Converted).TotalMinutes > 1) 
+0

Я изменил его на временные интервалы, просто удалил промежуток времени с даты-времени? Но у меня проблема. Когда вы делаете .Seconds в промежутке времени, он сбрасывается до 0 через минуту? И .TotalMinutes возвращает длинное десятичное число –

+0

, вероятно, 's /> /> ='? –

+0

Мне жаль, но я не понимаю, что вы только что прокомментировали? –

1

Оно должно быть:

if (TimeStamp_Converted < DateTime.UtcNow.AddMinutes(-1)) 
Смежные вопросы