2013-09-30 173 views
2

是否有可能有某種東西可以比較這種格式的兩個日期.. 今天示例「2013年9月30日」和一個星期前「2013年9月22日」 如果它在此範圍內說「好」,如果舊的然後說「不好」 我怎樣才能使這個在C#或vb.net比較兩個日期與範圍

+3

你到目前爲止嘗試過什麼?提示:您可以使用'Subtract(DateTime)'從兩個給定的日期中檢索日期和時間的差異。 –

+1

'yourDate> = startDate AndAlso yourDate <= endDate' –

回答

0

感謝誰幫我的所有用戶這裏..這是我正在使用的最終代碼..

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Dim fileDate As Date = Convert.ToDateTime("Sep 25, 2013") 
    Dim rightNow As Date = Convert.ToDateTime(Date.Now.ToString("MMM dd, yyyy")) 
    Dim lastWeek = rightNow.AddDays(-7) 

    If rightNow >= fileDate And lastWeek <= fileDate Then 

     Debug.Print("its new") 
    Else 
     Debug.Print("too old") 
    End If 
End Sub 
4

如果日期之間的區別是7天以上時,它會打印「好」,否則「不好」

var ok = (firstDate-secondDate).TotalDays < 7? "good": "Not good"; 
Console.WriteLine(ok); 

TotalDaysdouble所以你可以檢查是否在全天差異,使用Days如果你想完成天差作爲int

瞭解更多關於TimeSpan及其屬性。

0
if(date1 >= Convert.ToDateTime("Sep 22, 2013") && date1 <= Convert.ToDateTime("Sep 30, 2013")) 
{ 
good 
} 
else 
{ 
bad 
} 
+0

完美但我怎麼能得到那個9月22日自動像-7天? – XK8ER

+0

用Convert.ToDateTime(2013年9月30日)替換2013年9月22日。AddDays(-7) –

0

你可以使用這個通用Range類檢查一些可比的值(如日期時間)落入範圍:

public class Range<T> 
    where T : IComparable 
{ 
    public Range(T from, T to) 
    { 
     if (from.CompareTo(to) > 0) 
      throw new ArgumentException("From should not be greater than To"); 

     From = from; 
     To = to; 
    } 

    public T From { get; private set; } 
    public T To { get; private set; } 

    public bool Contains(T value) 
    { 
     return value.CompareTo(From) >= 0 && value.CompareTo(To) <= 0; 
    } 
    // other methods like Intersects etc 
} 

用法:

var today = DateTime.Today; 
var range = new Range<DateTime>(today.AddDays(-7), today); 
DateTime date = new DateTime(2013, 9, 25); 

if (range.Contains(date)) 
    // say good