@itcry

C# Как изменить формат даты в текстовой строке?

Здравствуйте! Провожу некоторые тесты на своем сайте с помощью Selenium + C# . Столкнулся вот с какой неприятной историей:
На сайте есть блок, в котором 3-5 строчек текста вот такого формата:

Периоды использования жесткого диска:
c 01.11.2011 по 21.02.2012: Датацентр1
c 28.03.2012 по 12.08.2017: Датацентр2
c 12.08.2017 и в данный момент: Датацентр3

Получаю я эти строчки в коллекцию таким образом:

IList<IWebElement> Collection = Driver.FindElements(By.CssSelector("#checkHardDrive > div > ul.Periods li"));

После этого вывожу в своей программе информацию в WindowsForm в текст бокс, в котором включен мультилайн:
foreach (IWebElement element in Collection )
            {
                this.period.BeginInvoke(updateTextPeriod, element.Text);
                Thread.Sleep(100);

            }


В принципе все работает, но есть одно НО.
Дата в текстбоксе выводится как c 11/1/2011 по 2/21/2012 и т.д.
Т.е. необходимо поменять формат даты, которая выводится в текст боксе.

Скажите, правильно ли я понимаю, что мне необходимо брать каждый элемент, парсить его с помощью регулярок до цифр, записывать значения в 1 переменную, потом парсить саму дату, потом опять текст, потом опять дату и т.д., потом отдельно переводить формат даты и после этого все склеивать обратно в одну строку и выводить уже в текст бокс?
Просто вдруг есть какое-то решение попроще?
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
1 - если у вас в браузере дата отображается так как вам надо* - ищите другой способ получить данные
2 - если это невозможно, вам придется самостоятельно парсить каждую строку, выделять даты, конвертировать их, и лишь потом отображать. такова программистская жизнь

ps
после этого все склеивать обратно в одну строку
не обязательно, достаточно сделать замену даты в "плохом формате", на "хороший"

pps * полагаю что вы используете Selenium? если да и
в браузере дата отображается так как вам надо
- 99% что есть способ получить нужную вам строку сразу. если нет, в целом, подобная задача не очень сложна, и вполне полезна для развития навыков
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы