C# :: Aufgabe #50 :: Lösung #4

8 Lösungen Lösungen öffentlich
#50

Zeit zwischen zweier Tage

Anfänger - C# von Dome - 10.03.2013 um 23:50 Uhr
Erstellen Sie ein Programm, mit dem man die Zeitdifferenz zwischen zwei Tagen bestimmen kann. Hierzu muss man beide Tage eingeben und das Programm gibt die Zeitdifferenz aus.

Je nach Schwierigkeitsgrad:
Eingabe der Daten per Konsole oder GUI, eine Art Dropdown-Menü oder ähnliches
Ausgabe der Differenz in mehreren "Zeitformen", Tage, Monate, Jahre, Minuten, Stunden
Eingabe von Uhrzeiten, die jeweils in die Berechnung einfließen
#4
vote_ok
von n.rohde (400 Punkte) - 20.08.2015 um 13:35 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ZeitZwischenZweiTagen
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int anzahlJahre, jahr_1, jahr_2, anzahlMonate=0, monat_1, monat_2, tage, stunden, minuten;

            monat_1 = dateTimePicker5.Value.Month;
            monat_2 = dateTimePicker6.Value.Month;
            jahr_1 = dateTimePicker5.Value.Year;
            jahr_2 = dateTimePicker6.Value.Year;

            if (dateTimePicker5.Value.Date < dateTimePicker6.Value.Date)
            {
                while (monat_1 != monat_2 || jahr_1 != jahr_2)
                {
                    if (monat_1 == 12)  // Ein nächstes Jahr wird erreicht
                    {                   // Dezember zu 
                        monat_1 = 0;    // Januar
                        jahr_1++;
                    }
                    anzahlMonate++;
                    monat_1++;
                }
                anzahlJahre = anzahlMonate / 12;    // Bsp.: 8.8.15 - 8.1.16 -> Kein komplettes Jahr dazwischen

                tage = Convert.ToInt32(dateTimePicker6.Value.Date.Subtract(dateTimePicker5.Value.Date).TotalDays);
                stunden = Convert.ToInt32(dateTimePicker6.Value.Date.Subtract(dateTimePicker5.Value.Date).TotalHours);
                minuten = Convert.ToInt32(dateTimePicker6.Value.Date.Subtract(dateTimePicker5.Value.Date).TotalMinutes);
            }
            else
            {
                while (monat_1 != monat_2 || jahr_1 != jahr_2)
                {
                    if (monat_2 == 12)
                    {
                        monat_2 = 0;
                        jahr_2++;
                    }
                    anzahlMonate++;
                    monat_2++;
                }
                anzahlJahre = anzahlMonate / 12;

                tage = Convert.ToInt32(dateTimePicker5.Value.Date.Subtract(dateTimePicker6.Value.Date).TotalDays);
                stunden = Convert.ToInt32(dateTimePicker5.Value.Date.Subtract(dateTimePicker6.Value.Date).TotalHours);
                minuten = Convert.ToInt32(dateTimePicker5.Value.Date.Subtract(dateTimePicker6.Value.Date).TotalMinutes);
            }
     
            label2.Text = "Jahre: " + Convert.ToString(anzahlJahre);
            label3.Text = "Monate: " + Convert.ToString(anzahlMonate);
            label4.Text = "Tage: " + Convert.ToString(tage);
            label5.Text = "Stunden: " + Convert.ToString(stunden);
            label6.Text = "Minuten: " + Convert.ToString(minuten);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            label2.Text = "Jahre:";
            label3.Text = "Monate:";
            label4.Text = "Tage:";
            label5.Text = "Stunden:";
            label6.Text = "Minuten:";
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben