Указанный метод не поддерживается, который прекрасно работает, когда я выполняю в WindowsFormsApp - PullRequest
0 голосов
/ 11 марта 2020

Мое намерение состоит в том, чтобы проверить, действительны ли предоставленные пользователем дата и время. Я проверил приведенный ниже код в WindowsFormsApp, и он хорошо работал там. Я работаю с RPA Automation Anywhere, где я создаю .Net DLL для проверки даты и времени ввода. Когда я передаю параметры даты и времени из инструмента Automation Anywhere, я получаю сообщение об ошибке «Указанный метод не поддерживается».

Я новичок в C#, пожалуйста, посоветуйте, как я могу изменить приведенный ниже код для решения. проблема.

strDate значение передано как '06 / 06/2020 'strTime значение передано как' 14: 45: 04 'из RPA инструмент Automation Anywhere

strDate = strDate.ToString();
strTime = strTime.ToString();

        try
        {
            //Date format checks
            string[] strDateFormats = { "mm/dd/yyyy", "m/d/yyyy", "mm/d/yyyy", "m/dd/yyyy", "mm/dd/yy", "m/d/yy", "mm/d/yy", "m/dd/yy" };

            if (DateTime.TryParseExact(strDate, strDateFormats,  CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out DateTime dt1))
                //if (DateTime.TryParseExact(strDate, strDateFormats, new CultureInfo("en-US"), DateTimeStyles.None, out DateTime dt1))
                {
                strDateReturn = dt1.ToString("mm/dd/yyyy");
                }
            //Provided Date is invalid, set it with empty value
            else
            {
                strDateReturn = string.Empty;
            }

            //Time format checks
            string[] strTimeFormats = { "h\\:m\\:s", "H\\:m\\:s"};
            //string[] strTimeFormats = { "hh\\:mm\\:ss", "hh\\:m\\:s", "hh\\:mm\\:s", "hh\\:m\\:ss", "h\\:mm\\:ss", "h\\:m\\:s", "h\\:m\\:ss", "h\\:mm\\:s", "HH\\:mm\\:ss", "HH\\:m\\:s", "HH\\:mm\\:s", "HH\\:m\\:ss", "H\\:mm\\:ss", "H\\:m\\:s", "H\\:m\\:ss", "H\\:mm\\:s" };
            bool res = DateTime.TryParse(strTime, out DateTime dt3);

            //If res==True, the provided input is in AM/PM format and converting the same in 24 hrs format
            if (res == true)
            {
                strTime = dt3.ToString("HH:mm:ss");
                strTimeReturn = strTime;
            }

            //If res==False, the provided input is in 24 hrs format but not sure if the provided time is valid
            else
            {
                if (TimeSpan.TryParseExact(strTime, strTimeFormats, CultureInfo.InvariantCulture, TimeSpanStyles.None, out TimeSpan dt2))
                //if (TimeSpan.TryParse(strTime, CultureInfo.InvariantCulture, out TimeSpan dt2))
                    //if (TimeSpan.TryParseExact(strTime, strTimeFormats, new CultureInfo("en-US"), out TimeSpan dt2))
                    {
                    strTimeReturn = dt2.ToString("HH:mm:ss");
                }
                //If invalid time is provided set it as empty
                else
                {
                    strTimeReturn = string.Empty;
                }
            }

        }

`

Я получаю эту ошибку, запустив ее Ошибка с DateTime.TryParseExact/TimeSpan.TryParseExact

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...