как выполнить проверку времени c # в формате ЧЧММСС - PullRequest
3 голосов
/ 17 января 2011

Вывод этого кода всегда будет ложным, даже если я передам дату в правильном формате. Пожалуйста, помогите мне ... Здесь передаются 2 параметра: время и формат, т. Е. (Формат "ЧЧММСС").

    static bool ValidateTime(string time, string format)
    {
        try
        {
            //time = time.Replace(":","");
            System.Globalization.DateTimeFormatInfo tinfo = new System.Globalization.DateTimeFormatInfo();

            tinfo.LongTimePattern = format;

            DateTime dt = DateTime.ParseExact(time, "format", tinfo);
            if (dt.Hour != null)
            {

            }
            return true;
        }
        catch (Exception e)
        {

            return false;
        }
    }

Ответы [ 2 ]

10 голосов
/ 17 января 2011
static bool ValidateTime(string time, string format)
{
    DateTime outTime;
    return DateTime.TryParseExact(time, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out outTime);
}

Помните, что вы должны использовать строку формата "HHmmss" для проверки 24-часового времени.

Пользовательские строки формата даты и времени (MSDN)

2 голосов
/ 17 января 2011

Следующий код работает. Вам придется немного подправить и добавить сигнатуры метода.

string time = "201555";
string format = "HHmmss";
bool ok = false;

try
{
    System.Globalization.CultureInfo provider = System.Globalization.CultureInfo.InvariantCulture;
    DateTime dt = DateTime.ParseExact(time, format, provider);
    if (dt.Hour != null)
    {
        ok = true;
    }
}
catch (Exception e)
{
    //// ok = false; // already setup in initializer above.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...