Программирование на C#. Как решить задачку?
Как в new DateTime засунуть строковое представление даты чтобы потом просто сделать AddDays(1)
string str = Console.ReadLine();
DateTime date1 = new DateTime(Console.ReadLine()); //хотелось бы чтобы было так
Я тип могу проверить на верность написание строковое значение, а вот как прибавить к этой строке день я вообще не ебу.
str = Console.ReadLine();
bool b = DateTime.TryParse(str, out DateTime date);
1907
просмотров
Ну по тому как написано задание, не знаю почему парсинг строки в DateTime, вызов .AddDays() и парсинг обратно в стрингу не считается правильным решением. Выбираешь один из форматов представления и погнали https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1
public DateTime GetNextDay(DateTime date)
{
// Проверяем, что дата корректна
if (date == DateTime.MinValue || date == DateTime.MaxValue)
{
throw new ArgumentException("Некорректная дата");
}
// Получаем дату следующего дня
DateTime nextDay = date.AddDays(1);
return nextDay;
}
Да, это похоже на то что было в условии. Я бы только проверку сделал такую:
if (date != DateTime.Now.Date)
Изменять дату в строке, прямо скажем, не самая простая задача. Используйте date из TryParse, прибавьте день, а потом переведите значение обратно в строку
DateTime.Parse или трайпарс
Получаешь строку, проверяешь, парсишь в дату, работаешь с ней, парсишь новую дату в строку, возвращаешь
Всем спасибо
Теперь збс
Два раза парсить одно и то же? Индус?
Маленький совет: не стоит привыкать называть переменные чёрти как. Будет код на 1000 строк. Пойми потом, что это такое "str" или "b" и откуда они взялись. И называть переменые, как и их тип (dateTime) тоже плохо. Выгрузишь код в какой-нибудь блокнот и все. Будешь там плавать: где имя переменной, а где ее тип. А так, присоединяюсь ко всем: удачи и вперёд!))
хех, через жопу конечно
щя попробую доделать
теперь кайф
У тебя уже из tryparse через out вернулась date у неё adddays и вызывай
В блоке if можно return тогда else не нужен
а, так можно? Спасибо
Там можно вообще интересно обернуть: не создавать булевскую переменную, TryParse впихнуть как условие в if, а потом оперировать date из out.
Но и так как у тебя огонь на самом деле, поэтому красава, продолжай в том же духе.
Ну если более короче то
if (DateTime.TryParse(Console.ReadLine(), out DateTime dateTime))
Console.WriteLine($"Дата {dateTime.AddDays(1)} корректна");
else
Console.WriteLine($"Дата не корректна");