2014-03-27 42 views
0

我試圖執行檢查是在指定的時間間隔內輸入時間,但Im卡住了...我有一個主塊和另一個類執行檢查是輸入的時間內的時間間隔,但我保持當我嘗試調用該方法並獲得簡單的布爾值true或false時,得到「方法沒有超載」IsBetween'需要0個參數「,我知道解決方案可能非常簡單,但我無法弄清楚它......檢查是在一個範圍內的時間

static void Main() 
    { 
     var currentTime = Console.ReadLine(); 
     DateTime now = Convert.ToDateTime(currentTime); 
     var dateNow = DateTime.Now; 
     var startTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 13, 0, 0); 
     var endTime = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 3, 0, 0); 
    } 

這是我的類檢查:

public static class TimeExtensions 
{ 
    public static bool IsBetween(this DateTime now, DateTime startTime, DateTime endTime) 
    { 
     if (now.TimeOfDay == startTime.TimeOfDay) return true; 
     if (now.TimeOfDay == endTime.TimeOfDay) return true; 

     if (startTime.TimeOfDay <= endTime.TimeOfDay) 
      return (now.TimeOfDay >= startTime.TimeOfDay && now.TimeOfDay <= endTime.TimeOfDay); 
     else 
      return !(now.TimeOfDay >= endTime.TimeOfDay && now.TimeOfDay <= startTime.TimeOfDay); 
    } 
} 
+0

您還沒有顯示的代碼,你居然叫'IsBetween'功能... ! –

+0

當您嘗試調用'IsBetween'時,您需要提供開始和結束時間。 – Lee

+0

因此'布爾測試= dateNow.IsBetween(startTime,endTime)'不能編譯?你有沒有檢查名稱空間等? – Ryan

回答

0

錯誤蘇ggests您呼叫IsBetween像:

bool b = now.IsBetween(); 

,但你需要提供的開始和結束時間:

bool b = now.IsBetween(startTime, endTime); 
+0

多數民衆贊成它..非常感謝! – tslid

相關問題