проблема сравнения дат - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть строка с именем date.date содержит дату как jan 10.Я хочу проверить, попадает ли это между двумя датами или нет.Пример jan 10 находится между dec 10 и feb 10.Как я могу выполнить эту задачу?

Ответы [ 5 ]

1 голос
/ 02 февраля 2010

Преобразуйте даты в DateTime, а затем используйте метод расширения JPLabs Между .

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;
        }
    }
}

Надеюсь, это поможет.

0 голосов
/ 02 сентября 2014

Попробуйте это:

    public bool IsDateBetweenOtherDates(DateTime startDate,DateTime endDate, DateTime testDate)
    {
        return startDate < testDate && endDate > testDate;
    }
0 голосов
/ 02 февраля 2010
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.
}
0 голосов
/ 02 февраля 2010

Вам нужно использовать 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)
   {
      ...
   }
}
0 голосов
/ 02 февраля 2010

Manish

Это следует сделать, если вы используете c #

public bool IsDateBetweenOtherDates(DateTime startDate,DateTime endDate, DateTime testDate)
    {
        return startDate < testDate && endDate > testDate;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...