Как правильно конвертировать SQL дату, чтобы корректно принять и отправить?
Здравствуйте.
Как на данный момент актуально корректно использовать функцию для учета даты?
Допустим, есть input, значение которого уходит в базу данных.
Какой использовать формат ввода данных, после чего можно было бы сделать сортировку записей от более новой к более старой?
Глянул, в основном, дата идет USA формата. Нужно конвертировать для более читабельного вида, как мы привыкли, но будет ли работать при этом сортировка? Или же данные хранятся в виде 2837103210, например, после чего конвертируются в удобный формат вывода, а число это уже сортируется от большего к меньшему?
судя по тому, что конкретный сервер SQL не указан, речь может идти либо об MS SQL, либо mysql
поскольку только пользователи этих БД искренне не подозревают о существовании других систем управления базами данных
с другой стороны, пользователи mysql обычно считают что язык запросов называется именно так
В базе данных дата должна храниться в том формате, который рекомендован базой данных для хранения даты.
Рекомендованный формат можно посмотреть в документации.
Нужную страницу документации легче всего найти с помощью поискового запроса "формат даты для [тут название используемой СУБД]"
Если неизвестно название название используемой СУБД, его надо у кого-нибудь спросить.
сконвертировать можно обычно с помощью strtotime()/date()
Хранить следует в формате для хранения даты (с учётом необходимости дополнительного хранения информации о зоне времени). Если СУБД имеет встроенный тип DATE - следует использовать его. Если такого нет - DATETIME. Если и такого нет - TIMESTAMP.
Вводить следует в том формате, в каком согласно документации следует представлять литералы даты.