private static bool MaiorData(Date5 data1, Date5 data2) // método para verificar maior data { bool data1Maior = false; // TESTAR DATAS DO MESMO ANO if ((data1.Ano == data2.Ano) && (data1.Mes > data2.Mes)) { data1Maior = true; } else { data1Maior = false; } if ((data1.Ano == data2.Ano) && (data1.Mes > data2.Mes) && (data1.Dia >= data2.Dia)) { data1Maior = true; } else { data1Maior = false; } // TESTAR DATAS DE ANOS DIFERENTES if (data1.Ano > data2.Ano) { data1Maior = true; } else { data1Maior = false; } return(data1Maior); }
public static int DiffDias(Date5 data1, Date5 data2) // obeter diferença de dias entre duas datas { bool data1Maior = MaiorData(data1, data2); // testar qual será a maior data bool loop = true; int cont = -1; // variável para contar números de dias que será percorrido if (data1Maior == true) // se Data1 for maior a Data2 irá percorrer até ela { while (loop == true) { if (data2.ToString() == data1.ToString()) // Se data2 for igual a data1, terminar repetição { loop = false; } data2.ProximoDia(); // Ir para próximo dia da data cont++; // Armazenar quantos dias foi percorrido } } else { while (loop == true) { if (data1.ToString() == data2.ToString()) { loop = false; } data1.ProximoDia(); // Ir para próximo dia da data cont++; // Armazenar quantos dias foi percorrido } } return(cont); }
public static void InserirData(out Date5 data) // Método para inserir uma data { int dia = 0, mes = 0, ano = 0; // Variáveis para salvar parâmetros para a data bool loop = true; // Boolean para definir se o loop continuará ou não while (loop == true) // Repetição em caso de parâmetros inválidos { try // Tratamento de exceções { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\nEntre com a data"); Console.ResetColor(); Console.Write("\nDia: "); Console.ForegroundColor = ConsoleColor.Gray; dia = int.Parse(Console.ReadLine()); Console.ResetColor(); Console.Write("Mês: "); Console.ForegroundColor = ConsoleColor.Gray; mes = int.Parse(Console.ReadLine()); Console.ResetColor(); Console.Write("Ano: "); Console.ForegroundColor = ConsoleColor.Gray; ano = int.Parse(Console.ReadLine()); Console.ResetColor(); } catch // Em caso de valores inválidos (caracteres não numéricos) dia, mes e ano receberá 0, que será interpretado como datá inválida { dia = 0; mes = 0; ano = 0; } data = new Date5(dia, mes, ano); // Instânciando data através do contrutor if (data.DataValida() == false) // Verificar validade da data { Console.Clear(); System.Threading.Thread.Sleep(100); Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Data inválida, tente novamente"); Console.ResetColor(); loop = true; } else { loop = false; } } data = new Date5(dia, mes, ano); // Instânciando a data válida }
public static void CompararDatas() // Método para chamar compararador entre duas datas { Console.Clear(); Date5 data1, data2; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\nPara comparar datas, digite duas datas:"); Console.ResetColor(); System.Threading.Thread.Sleep(500); InserirData(out data1); // Chamando método para inserir a primeira data InserirData(out data2); // Chamando método para inserir a segunda data Console.Clear(); // Chamando método de instância e exibindo a a diferênças entre as duas datas Console.Write("\nAs datas {0} e {1} tem uma diferença de ", data1, data2); Console.Write(Date5.DiffDias(data1, data2) + " dias\n"); Console.ReadKey(); Console.Clear(); }