Форум программистов, компьютерный форум CyberForum.ru

Сортировка дат по 4 ключам - C++

Восстановить пароль Регистрация
 
MechanicPaul
2 / 2 / 0
Регистрация: 25.05.2013
Сообщений: 157
30.03.2014, 05:42     Сортировка дат по 4 ключам #1
Есть даты такого формата:
Fri, 28 Mar 2014 16:42:58 PDT
Fri, 28 Mar 2014 15:16:47 PDT
Sat, 29 Mar 2014 13:33:05 PDT
Sat, 29 Mar 2014 13:23:32 PDT
Sat, 29 Mar 2014 12:28:34 PDT
Sat, 29 Mar 2014 13:30:56 PDT
Sat, 29 Mar 2014 13:56:19 PDT

Нужно сортировать по 4 параметрам: год, месяц, день, время.

Подскажите какой-нибудь хороший способ решить задачу не используя миллионы ифов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 05:42     Сортировка дат по 4 ключам
Посмотрите здесь:

C++ Калькулятор дат
C++ Сумма и разность дат
Чтение входных дат C++
C++ класс дат
C++ Сложение дат
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
30.03.2014, 05:49     Сортировка дат по 4 ключам #2
Сгенерировать строки вида
20140328164258
20140328151647
20140329133305
и спокойно их сравнить с помощью, например, strcmp.
Обязательно выделять: 4 позиции на год, 2 позиции на месяц (0 впереди, если необходимо), 2 позиции на день, час, минуты, секунды (все это также с 0 впереди, если необходимо).

Чем строка больше, чем она "свежее".
Самые маленькие строки соответствуют наиболее давним событиям.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.03.2014, 10:52     Сортировка дат по 4 ключам #3
Цитата Сообщение от IrineK Посмотреть сообщение
Сгенерировать строки вида
Не обязательно использовать именно строки. Суть решения подобных задач сводится к получению некоторой обобщенной сущности, для которой реализована операция сравнения. В классическом случае с датами наиболее очевидным вариантом является представление даты в виде кол-ва секунд от "начала времен". См. time_t и подобные типы.
IrineK
Заблокирован
30.03.2014, 13:32     Сортировка дат по 4 ключам #4
Цитата Сообщение от Tulosba Посмотреть сообщение
См. time_t
mktime ограничен 1970 годом.
Т.е. в рамках данной задачи - пойдет. В рамках других - может быть и нет.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.03.2014, 16:59     Сортировка дат по 4 ключам #5
Цитата Сообщение от IrineK Посмотреть сообщение
mktime ограничен 1970 годом.
Т.е. в рамках данной задачи - пойдет. В рамках других - может быть и нет.
В рамках других может и 4х позиций для года не хватить. При этом стоит понимать, что сравнение целых чисел будет выполняться быстрее сравнения строк. А вообще, мы с Вами уже пересекались на теме дат
Количество прожитых дней
IrineK
31.03.2014, 00:45
  #6

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
мы с Вами уже пересекались
Форум тесен )

Памирыч
31.03.2014, 06:51     Сортировка дат по 4 ключам
  #7
 Комментарий модератора 
Закрыто. Причина: кросспостинг
Yandex
Объявления
31.03.2014, 06:51     Сортировка дат по 4 ключам
Закрытая тема Создать тему
Опции темы

Текущее время: 21:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru