Как работать с DateTime через конструктор. Постоянные ошибки - C#
Формулировка задачи:
Написал программу для работы с датой. Она делает вычисление между двумя датами, вычитывает количество дней из даты, сравнивает даты и определят високосный год. Казалось бы все просто, но вот сделать её с помощью конструктора у меня не получается. Я не знаю, как работать с DateTime через конструктор. Постоянные ошибки. Времени читать уже нет - сдавать скоро преподу. Помогите сделать её через конструктор. Вот программа: Извиняйте за бредовые строки в коде. Писал один раз и больше не проверял. Мне важно сейчас сделать через конструктор её
//вычисление даты 2 из даты 1:
int y1, m1, d1, y2, m2, d2, y3, m3, d3, countday;
Console.Write("Вычисляем кол-во дней между двумя датами\n");
Console.Write("Дата 1, введите год: ");
y1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата 1, введите месяц: ");
m1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата 1, введите день: ");
d1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата 2, введите год: ");
y2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата 2, введите месяц: ");
m2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата 2, введите день: ");
d2 = Convert.ToInt32(Console.ReadLine());
DateTime date1 = new DateTime(y1, m1, d1);
DateTime date2 = new DateTime(y2, m2, d2);
Console.WriteLine(date1 - date2);
//прибавить колличество дней к дате 1:
Console.WriteLine("Прибавляем к дате {0} следуюющее число: ", date1);
countday = Convert.ToInt32(Console.ReadLine());
DateTime z = date1.AddDays(countday);
Console.WriteLine("{0} + {1} = {2}", date1, countday, z);
//равенство двух дат
Console.Write("Дату {0} сравниваем со следующей датой: \n", date1);
Console.Write("введите год: ");
y3 = Convert.ToInt32(Console.ReadLine());
Console.Write("введите месяц: ");
m3 = Convert.ToInt32(Console.ReadLine());
Console.Write("введите день: ");
d3 = Convert.ToInt32(Console.ReadLine());
DateTime date3 = new DateTime(y3, m3, d3);
for (int l = 1; l == 1; l++)
{
if (date1 < date3)
{ Console.WriteLine("{0} < {1}", date1, date3); break; }
if (date1 > date3)
{ Console.WriteLine("{0} > {1}", date1, date3); break; }
else
Console.WriteLine("{0} = {1}", date1, date3);
}
// Определяем високосный год ли год
Console.WriteLine("Високосен ли {0} ??? ", y1);
double ostatok;
ostatok=y1%4;
if (ostatok == 0)
Console.WriteLine(y1 + " является високосным!!!");
else
Console.WriteLine(y1 + " является не високосным!!!");Решение задачи: «Как работать с DateTime через конструктор. Постоянные ошибки»
textual
Листинг программы
static private DateTime CreateDate()
{
int y,m,d;
DateTime dateTime;
while(true)
try
{
Console.Write("Дата , введите год: ");
y = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата , введите месяц: ");
m = Convert.ToInt32(Console.ReadLine());
Console.Write("Дата , введите день: ");
d = Convert.ToInt32(Console.ReadLine());
dateTime = new DateTime(y, m, d);
return dateTime;
}
catch (Exception)
{
Console.WriteLine(" \nОшибка. Такая дата существовать не может \n Повторите ввод\n");
}
}
static void Main(string[] args)
{
DateTime date1 = CreateDate();
DateTime date2 = CreateDate();
}