public static void Main()
DateTime dataInicial = new DateTime(2016, 09, 30);
DateTime dataFinal = new DateTime(2016, 11, 30);
DateTime dataAtual = DateTime.Now;
isBetween = dataAtual.IsBetween(dataInicial, dataFinal);
Console.WriteLine("Exemplo 1:\ndataAtual.IsBetween(dataInicial, dataFinal) : " + isBetween);
DateTime? dataNula = null;
isBetween = dataAtual.IsBetweenNullable(dataNula, dataNula);
Console.WriteLine("\nExemplo 2:\ndataAtual.IsBetweenNullable(dataNula, dataNula) : " + isBetween);
DateTime? dataInicialNullable = new DateTime(2016, 09, 30);
if(dataInicialNullable.HasValue)
isBetween = dataAtual.IsBetween(dataInicialNullable.Value, dataFinal);
Console.WriteLine("\nExemplo 3:\ndataAtual.IsBetween(dataInicialNullable.Value, dataFinal) : " + isBetween);
public static class ExtensionMethods
public static bool IsBetween(this DateTime dataAtual, DateTime dataInicial, DateTime dataFinal)
return dataAtual >= dataInicial && dataAtual <= dataFinal;
public static bool IsBetweenNullable(this DateTime dataAtual, DateTime? dataInicial, DateTime? dataFinal)
return dataAtual >= dataInicial && dataAtual <= dataFinal;