示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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
        }
示例#4
0
        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();
        }