TimeStamp в MySQL и PHP - PullRequest
       2

TimeStamp в MySQL и PHP

1 голос
/ 01 апреля 2011

я пытаюсь создать базу данных для использования с подпиской и датой истечения срока, я добавил дату подписки в свою базу данных в качестве поля Timestamp, и дата истечения срока должна быть через месяц ... пытаюсь добавить месяц, но функции, которые я обнаружил, работают только с функциями формата даты, я думал, что они должны быть одинаковыми (Timestamp и date ()), но это дает мне ошибку!

$startDate = time();

$conv = date('Y-m-d H:i:s',$startDate);

echo $conv;

echo ('<br/>');

$dd=date('Y-m-d H:i:s', strtotime('+1 month', $startDate));

echo $dd;

эта функция работает отлично, но если я заменил дату начала значением «TIMESTAMP», которое я сохранил в базе данных, это даст мне эту ошибку » A non well formed numeric value encountered какие-либо предложения?! Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011
$startDate = strtotime(TIMESTAMP_FROM_MYSQL);
2 голосов
/ 01 апреля 2011

MySQL TIMESTAMP не отображается как целое число, как в PHP.Если вы посмотрите документацию, вы увидите, что TIMESTAMP отображается с использованием 19 символов .Если вы хотите сохранить количество секунд в вашей базе данных - используйте тип INT (без знака), а не TIMESTAMP.

Другими словами, запустите strtotime ($ mysql_timestamp) (замените имя переменной на подходящее) перед использованиемкод, так что он преобразуется в целое число из строки.

Однако вы должны подумать, правильно ли вы сделали выбор, когда дело доходит до хранения дат - есть несколько очень интересных функций для работы с датами, встроенными в обеPHP и MySQL.Если вы попытаетесь обработать все это вручную (через количество секунд с 1970 года), вы столкнетесь со многими проблемами (смещение часового пояса, летнее время, невозможность сохранить даты ДО 1970 года и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...