Сложность в этой проблеме состоит в том, что форматы даты представлены в виде строки, а не упорядоченного набора данных (например, дата была бы объявлена как структура, и она могла бы иметь такие поля, как месяц, дата, год, время, часовой пояс ).
Решение будет двухступенчатым -
Напишите функцию для преобразования этой строки в упорядоченный набор данных. (Хитрая часть). Здесь следует учитывать множество тестовых случаев, в том числе пропуск пробелов, кодирование часовых поясов, месяца и дня.
Чтобы получить день, создайте подстроку от начала строки данных до места появления первой запятой. Сравните его с набором дней {"понедельник", "вторник" ...} (используйте strstr) для генерации дня. Дата и время будут иметь фиксированное смещение, если мы отбросим имя дня и запятую. Это довольно просто отсюда. Напишите отдельные парсеры для даты и времени сейчас. Было бы целесообразно сначала собрать несколько тестовых примеров, прежде чем писать синтаксический анализатор.
Напишите функцию для сравнения двух упорядоченных наборов данных и верните истину / ложь в зависимости от того, больше ли первая дата, чем вторая, или нет. (Рассмотрим случаи, когда даты тоже равны)
Это может быть не самая быстрая реализация, но может повторно использовать некоторый код. Реализация досрочного выхода, описанная выше, выполняется быстрее