日期比较问题

时间:2010-02-02 12:24:51

标签: c#-3.0

我有一个名为date的字符串。 date保留jan 10之类的日期。我想检查它是否介于两个日期之间。示例jan 10介于dec 10feb 10之间。我该怎么做这个任务?

5 个答案:

答案 0 :(得分:1)

将日期转换为DateTime,然后使用JPLabs extension method Between

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace JpLabs.Extensions
{
    public static class ComparableExt
    {
        static public bool Between<T>(this T actual, T lower, T upper) where T : IComparable<T>
        {
            return actual.CompareTo(lower) >= 0 && actual.CompareTo(upper) < 0;
        }
    }
}

我希望它有所帮助。

答案 1 :(得分:0)

和Manish

如果你使用c#

,这应该这样做
public bool IsDateBetweenOtherDates(DateTime startDate,DateTime endDate, DateTime testDate)
    {
        return startDate < testDate && endDate > testDate;
    }

答案 2 :(得分:0)

string date = "jan 10";
var dt = DateTime.ParseExact(date, "MMM dd", CultureInfo.InvariantCulture);
if (dt < new DateTime(dt.Year, 12, 10) && 
    dt > new DateTime(dt.Year, 2, 10))
{
     // the date is between 10 feb and 10 dec.
}

答案 3 :(得分:0)

您需要使用DateTime.TryParse()将字符串转换为DateTime,然后可以将其与其他日期进行比较。

DateTime minDate = // minimum boundary
DateTime maxDate = // maximum boundary
string input = "January 10, 2010";
DateTime inputDate;
if (DateTime.TryParse(input, out inputDate))
{
   if (inputDate > minDate && inputDate < maxDate)
   {
      ...
   }
}

答案 4 :(得分:-1)

试试这个:

    public bool IsDateBetweenOtherDates(DateTime startDate,DateTime endDate, DateTime testDate)
    {
        return startDate < testDate && endDate > testDate;
    }