Я делаю программу timecard, в которой пользователь вводит время начала, время окончания и название проекта. Они могут нажать «Добавить» и добавить введенные данные в список.C# Regex, форматирование времени
Я не позволяю добавлять данные, если время начала и окончания не отформатировано следующим образом: 08:14am
Это становится раздражающим, хотя каждый раз нужно вводить его так, чтобы я решил, с помощью регулярных выражений , автоматическое форматирование. Поэтому, если вы введете 8:14
, он изменит его на 08:14am
. Как я могу выполнить это через Regex.Replace()
?
Если у вас есть другие методы, не стесняйтесь их перечислить.
Редактировать 1: У меня также есть другие замены; например 814
идет к 08:14am
и 8
идет в 08:00am
Edit 2: Так вот я использую этот код:
string[] formats = { "h:mm", "h", "hh", "hmm", "hhmm", "h:mmtt", "htt", "hhtt" };
DateTime dt = DateTime.ParseExact(t.Text, formats, new CultureInfo("en-US"), DateTimeStyles.None);
t.Text = dt.ToString("hh:mmtt").ToLower();
И он заменяет некоторые вещи, как h:mm
, но не другие подобный h
.
Вы хотите, чтобы 14:30 были заменены на 02:30 вечера? – Jez
Это было бы неплохо, но не обязательно. – Entity