Что следует учитывать перед сохранением отрицательных дат в MySQL?

StackOverflow https://stackoverflow.com/questions/1123079

  •  13-09-2019
  •  | 
  •  

Вопрос

Сейчас я работаю над проектом, который потребует от меня разрешить пользователям хранить отрицательные даты в базе данных.Эти даты потенциально могут охватывать многие тысячи лет до нашей эры и даже "Сегодняшний день". Я работал над многими проектами, в которых хранились даты, но все они были относительно недавними, и ни одна из них никогда не была отрицательной (до н.э.).

Какие вещи я должен принимать во внимание при работе с этим типом данных?Я полностью осведомлен о множестве календарных сдвигов, имевших место в истории, но я буду работать с современным календарем и не буду слишком беспокоиться о преобразованиях.Тем не менее, я был бы очень признателен за любую информацию о конверсиях, поскольку это очень актуальная тема, которая меня академически интересует, хотя и не обязывает сосредотачиваться на этом проекте.

Обновить: Я буду историей, ГГГГ-ММ-ДД (этот формат не требуется)

Это было полезно?

Решение

Насколько точным должно быть ваше хранилище?Это годы, дни или часы / минуты.Если вы смотрите только на Дни или Годы, то, возможно, вам на самом деле не нужно сохранять дату, а скорее смещение на + / - День / Годы от вашей даты 0

Другие советы

У меня была похожая проблема, и я хотел продолжить ретрансляцию полей даты в базе данных, чтобы позволить мне использовать поиск по диапазону дат с точностью до дня для исторических значений.(Моя база данных включает дату рождения и даты римских императоров ...)

Решение состояло в том, чтобы добавить постоянный год (пример:3000) ко всем датам перед добавлением их в базу данных и вычитанием того же числа перед отображением результатов запроса пользователям.

Если в вашей базе данных уже есть какое-то значение dates, не забудьте обновить исходящее значение новым постоянным номером.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top