2016-07-17 5 views
0

Я хочу создать динамическое timeago funtion с помощью jquery timeago, но я могу сделать это с помощью php time(), потому что он одинаковый для каждого сервера, и я могу справиться с ним легко. Но я слышал, что не рекомендуется хранить временную метку (я получаю это из функции php time()), это будет очень высокое число в 2038 году и так далее.Должен ли я использовать временную метку или дату для хранения даты, чтобы показать динамическое время назад fucntion?

Также я смотрел facebook HTML-коды Я думаю, что они используют метку времени и потому, что я вижу это:

<abbr title="Sunday, July 01, 2016 at 12:24pm" data-utime="1468743808" class="timestamp livetimestamp"> 
<span class="timestampContent">about an hour ago</span></abbr> 

данных utime это означает, что они хранят временную метку Но почему не рекомендуется хранить его ли это правда? временная метка будет очень высокой в ​​будущем?

+0

Похоже, вы говорите о проблеме 2038 года: https://en.wikipedia.org/wiki/Year_2038_problem По существу, метка времени будет выше, чем максимальная подписали 32-битное целое значение, но это должно вообще не представляют проблем, поскольку к тому времени большинство, если не все машины, будут 64-битными и будут способны обрабатывать 64-битные целые числа. Я рекомендую хранить время как временную метку, ее очень легко манипулировать и нет реальных проблем. – ebildude123

+0

Если у меня есть временная метка на varchar (100), будет ли проблема? – Alex

+0

Это должно быть хорошо, но BIGINT должен быть лучше для отметки времени. – ebildude123

ответ

0

Не имеет значения, год, тип временной шкалы db будет занимать одинаковое количество байтов. Вы можете использовать в JS new Date(). GetTime() действительно возвращает значение UTC, поэтому это действительно полезный способ хранения и управления датами способом, который не зависит от локализации. В приведенном выше примере они используют числовую подачу временной отметки.

+0

Да, мой вопрос в том, должен ли я хранить время PHP() для столбца типа varchar. – Alex

+0

Неплохая практика подходит к вам. Должен быть соответствующий тип даты в вашей базе данных, чтобы сохранить тип даты в другом случае, вам следует обратить внимание на преобразование для вас значения в varchar и на сегодняшний день. Ответ заключается в том, что вы не должны использовать varchar, чтобы сохранить тип Date, но тип Date, соответствующий вашей базе данных. –

+0

нет Я не использовал его, чтобы сохранить тип даты. Я хочу использовать его, чтобы сохранить значение timestamp int как 1468743808.У вас лучше решить его сохранить? – Alex

0

Лучшей практикой является использование числовых типов для числовых значений, а не типов, основанных на символах.

 Смежные вопросы

  • Нет связанных вопросов^_^