В сообщении может содержаться дата в формате дд.мм.гггг. Заменить её на дату предыдущего дня - C#
Формулировка задачи:
В сообщении может содержаться дата в формате дд.мм.гггг. В заданном формате дд - целое число из диапазона от 1 до31, мм - целое число из диапазона от 1 до 12, а гггг - целое число из диапазона от 1900 до 2010 (если какая-то часть формата нарушена, то данная подстрока в качестве даты не рассматривается). Замените каждую дату в сообщении на дату предыдущего дня.
Есть рабочая программа:
как сделать проверку на корректность даты, что бы например нельзя было бы ввести дату 32.01.2014например
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Text.RegularExpressions;
- namespace ConsoleApplication1
- {
- class xeks
- {
- public void m()
- {
- Console.WriteLine("введиет дату в формате дата.месяц.год(пример 30.01.2016)");
- string text = Convert.ToString(Console.ReadLine());
- string pattern = "[0-3][0-9].[0-1][0-9].[1,2][9,0][0-9][0-9]";
- MatchCollection matches;
- Regex reg = new Regex(pattern);
- matches = reg.Matches(text);
- {
- for (int i = 0; i < matches.Count; i++)
- {
- string updDate = DateTime.Parse(matches[i].Value).AddDays(-1).ToShortDateString();
- text = text.Replace(matches[i].Value, updDate);
- }
- Console.WriteLine("дата предыдущенго дня {0}", text);
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- xeks f1 = new xeks();
- f1.m();
- Console.ReadLine();
- }
- }
- }
Решение задачи: «В сообщении может содержаться дата в формате дд.мм.гггг. Заменить её на дату предыдущего дня»
textual
Листинг программы
- for (int i = 0; i < matches.Count; i++)
- {
- if (DateTime.TryParse(matches[i].Value))
- {
- string updDate = DateTime.Parse(matches[i].Value).AddDays(-1).ToShortDateString();
- text = text.Replace(matches[i].Value, updDate);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д