Правильно, что это сработает:
TimeSpan time = TimeSpan.Parse("07:35");
И если вы используете его для проверки ...
TimeSpan time;
if (!TimeSpan.TryParse("07:35", out time))
{
// handle validation error
}
Учтите, что TimeSpan
в первую очередь предназначен для работайте с истекшим временем, а не временем дня. Он будет принимать значения, превышающие 24 часа, и также примет отрицательные значения.
Если вам нужно проверить, что входная строка является допустимым временем дня (> = 00:00 и & lt; 24:00), тогда вы должны рассмотреть это вместо:
DateTime dt;
if (!DateTime.TryParseExact("07:35", "HH:mm", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
// handle validation error
}
TimeSpan time = dt.TimeOfDay;
В качестве дополнительного преимущества это также будет анализировать 12-часовое форматированное время, когда AM или PM включены, если вы предоставите соответствующую строку формата, например "h:mm tt"
.