簡體   English   中英

如何檢查,C#中的timeStamp是否傳遞了“ X分鍾”?

[英]How to check, is “X minutes” passed with timeStamp in C#?

我正在嘗試創建檢查當前時間的腳本,但是會出現一些錯誤。

DateTime currentTime = DateTime.Now;
TimeSpan pauseMin = TimeSpan.FromMinutes(1);
TimeSpan compare = currentTime + pauseMin;
if (currentTime >= compare)
return null;

您無法比較DateTime和TimeSpan。

嘗試var compare = currentTime.AddMinutes(1)

如果您需要使用TimeSpan,請使用Jamie F的答案。

我會這樣寫

DateTime currentTime = DateTime.Now;
TimeSpan pauseMin = TimeSpan.FromMinutes(1);
DateTime compare = currentTime.Add(pauseMin);
if (currentTime >= compare) {
    return null;
}

這將使用您要代表的所有對象的類型。 DateTime可以添加Timespan: https ://msdn.microsoft.com/en-us/library/system.datetime.add%28v=vs.110%29.aspx?f = 255&MSPPError = -2147217396

或者,如果您始終只是將整數分鍾添加到時間,則可以使用Istern的答案。

DateTimeTimeSpan是不同的。 您可以像這樣使用currentTime

TimeSpan currentTime = TimeSpan.FromTicks(DateTime.Now.Ticks);

您可以像這樣通過分鍾:

double minutes = (compare - currentTime).TotalMinutes;

如果您只想暫停1分鍾,可以使用

System.Threading.Thread.Sleep(1000 * 60);  // 1 minute = 60000 milliseconds

如果您希望函數運行1分鍾,可以使用類似

var returnAt = DateTime.Now().AddMinutes(1);

while ( true )
{ 
    // your code here ?

    if ( DateTime.Now() >= returnAt ) return null;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM