using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace Library12DateTime
{
internal class DateClass
{
///
/// Проверка является ли день выходным
///
static public void GetWeekendOrWorkingDay()
{
Console.Write("Введите год: ");
int year = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите месяц: ");
int month = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день: ");
int day = Convert.ToInt32(Console.ReadLine());
DateOnly dateOnly = new DateOnly(year, month, day);
if (dateOnly.DayOfWeek == DayOfWeek.Saturday || dateOnly.DayOfWeek == DayOfWeek.Sunday)
{
Console.WriteLine("Данный день - выходной");
}
else
{
Console.WriteLine("Данный день - рабочий");
}
}
///
/// Выводит дату начала недели
///
static public void GetStartDateWeek()
{
Console.Write("Введите год: ");
int year = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите месяц: ");
int month = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день: ");
int day = Convert.ToInt32(Console.ReadLine());
DateTime date = new DateTime(year, month, day);
int newday = day - 6;
if (date.DayOfWeek != DayOfWeek.Sunday)
{
newday = day - (int)date.DayOfWeek - 1;
}
DateTime newDate = new DateTime(year, month, newday);
Console.WriteLine("Дата начала недели:" + newDate.ToString("dd MMMM yyyy года"));
}
///
/// Подсчета количества дней, прошедших с начала года
///
static public void GetCountDay()
{
Console.Write("Введите год: ");
int year = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите месяц: ");
int month = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день: ");
int day = Convert.ToInt32(Console.ReadLine());
DateTime date = new DateTime(year, month, day);
Console.WriteLine($"С начала года прошло {date.DayOfYear - 1} дней");
}
///
/// Для указанного интервала времени определяются годы, первый день которых (1 января) попадает на понедельник
///
static public void GetDayInYear(int year1, int year2)
{
for (int year = year1; year <= year2; year++)
{
DateOnly date = new DateOnly(year, 1, 1);
if (date.DayOfWeek == DayOfWeek.Monday)
{
Console.WriteLine($"1 Января {date.Year} года - понедельник");
}
}
}
///
/// Сколько лет, месяцев и дней прошло от указанной даты ДР до текущей
///
static public void GetDaysРassed()
{
Console.Write("Введите год рождения: ");
int year = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите месяц рождения: ");
int month = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите день рождения: ");
int day = Convert.ToInt32(Console.ReadLine());
DateTime date = new DateTime(year, month, day);
DateTime dateNow = DateTime.Now;
TimeSpan dateRezult = date.Subtract(dateNow);
DateTime dt = new DateTime(1, 1, 1) + dateRezult;
Console.WriteLine("От указанной даты до текущей:" + dateRezult.ToString("dd MMMM yyyy года"));
}
}
}