Быстрый (лучше очень быстрый) анализ timestamp, выручайте!?
Всем привет.
Ребят , всем привет. Столкнулся с задачей , когда есть много много таймштампов, надо быстро их распределить по дням. Понимаю , что через получить месяц, год, день это решается очень даже просто. Но тут возник вопрос скорости.
Помня из прошлого, что перемножением айпи и маски подсети в бинарном режиме получал значение подсети, задумался, может есть некие подобные математические алгоритмы для таймштампа? Буду благодарен за любые направления и идеи.
что конкретно нужно-то? если обычный юниксовый таймстамп, это ж просто количество секунд. поделить на (60*24) и получите "уникальный идентификатор дня", который в итоге отсортировать тем же qsort. вот и будет у вас сверхбыстрое распределение по дням
Adamos: Денис Загаевский: я понимаю, что есть погрешность, но задача состоит в том, чтобы понять, что все данные были созданы в 1 день, а это очень просто решается через деление таймштампа, да будет погрешность, но это не критично в этой ситуации. За radix спасибо, почитаю об этом.
Может я не понял проблему, но я ее не вижу, если дата заранее известна, то betwen.
Если хочешь сгруппировать в выборке по дням, можно делить на сутки (60*60*24), тогда
получишь порядковые номера дня от текущей даты в обратную сторону, а в пхп, если надо получить дату использовать встроенные функции и приводить к виду date() - index day
Использовать штатные функции преобразования timestamp в дату/дни/года уровня библиотеки или базы данных.
Большие дядьки там уже давно и успешно (ибо неуспешные продукты уже забыты) все оптимизировали и даже предусмотрели високосности, лишние секунды и прочие хитрости.
d-stream: у меня узкая задача, там нет этой проблемы. Мне надо получить распределение данных по датам в виде счетчиков и сделать это максимально быстро. Вот и все. Потому получение даты из таймштампа я отметаю, как делающее много операций, относительно простого деления на сутки.