Предположим, у вас есть система обмена сообщениями, встроенная в PHP с бэкэндом базы данных MySQL, и вы хотите поддерживать поиск сообщений с использованием произвольных строк дат.
База данных включает в себя таблицу сообщений с полем date_created, представленным как datetime.
Примеры произвольных строк дат, которые будут приняты пользователем, должны соответствовать тем, которые приняты strtotime.
В следующих примерах поиски, выполненные 21 марта 2010 года:
"26 января 2009" будет возвращать все сообщения в период с 2009-01-26 00:00:00 и 2009-01-27 00: 00: 00
«8 марта» будет возвращать все сообщения между 2010-03-08 00:00:00 и 2010-01-26 00: 00: 00
«Последняя неделя» будет возвращать все сообщения в период с 2010-03-14 по 00:00:00 и 2010-03-21 018: 25: 00
«2008» будет возвращать все сообщения между 2008-01-01 00:00:00 и 2008-12-31 00: 00: 00
Я начал работать с date_parse, но число переменных быстро росло. Интересно, изобретаю ли я колесо заново?
Есть ли у кого-нибудь предложение, которое бы работало либо как общее решение, либо как решение, которое охватило бы большую часть возможных входных строк?