比较两个日期与范围

时间:2013-09-30 13:07:47

标签: c# .net vb.net datetime

是否有可能比较这种格式的两个日期。 例如今天“2013年9月30日”和一周前“2013年9月22日” 如果它在这个范围内说“好”,如果年纪大了再说“不好” 我怎样才能在C#或vb.net

中做到这一点

4 个答案:

答案 0 :(得分:4)

如果日期之间的差异小于7天,则会打印“好”,否则“不好”

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

TotalDaysdouble,因此您可以检查差异是否为完整天数,如果您希望完成天差为Days

,请使用int

详细了解TimeSpan及其属性。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以使用此通用Range类来检查某些可比较的值(如DateTime)是否属于范围:

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

答案 3 :(得分: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