2013-09-30 176 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