Регулярные выражения: изменение времени - C#
Формулировка задачи:
Добрый день!
Задача: нужно ко времени прибавить x минут. Использовать регулярки.
Объясните, почему не работает корректно.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace _10._19
{
class Program
{
static void Main(string[] args)
{
string str = "Заданное время - 19:32";
Console.WriteLine("Исходная строка: " + str);
Regex r = new Regex("[0-2][0-9]:[0-6][0-9]");
Console.Write("Сколько минут прибавить? ");
int x = int.Parse(Console.ReadLine());
MatchCollection TheMatch = r.Matches(str);
foreach (Match TheMatches in TheMatch)
{
string UpdMin = DateTime.Parse(TheMatches.Value).AddDays(x).ToString();
str.Replace(TheMatches.Value, UpdMin);
}
Console.WriteLine("Измененное время: " + str);
Console.ReadKey();
}
}
}Решение задачи: «Регулярные выражения: изменение времени»
textual
Листинг программы
public static void Main()
{
string str = "Заданное время - 19:32";
Console.WriteLine("Исходная строка: " + str);
Console.Write("Сколько минут прибавить? ");
int x = int.Parse(Console.ReadLine());
str = Regex.Replace(str, @"\d+:\d+", m => DateTime.Parse(m.Value).AddMinutes(x).ToShortTimeString());
Console.WriteLine("Измененное время: " + str);
Console.ReadKey();
}