2009-09-11 3 views
1

Я хочу, чтобы сохранить мои страны по местному времени (новая зеландия) в моей базе данных. Я использую php, но я не знаю, как это сделать.как сохранить текущее местное время в базе данных

Прошу вас уведомить меня.

+2

какая у вас база данных? это время, которое вы хотите сохранить? что у вас есть? –

+0

Быстрый взгляд на другие вопросы jazzrai, может быть MySQL или SQL Server 2005 –

ответ

1

Это

 date('O');

даст вам разницу Время в Гринвиче (GMT) в часах для сервера Пример: +0200

Вам нужно будет узнать свой часовой пояс GMT по часовой стрелке.

Используйте эти два номера, чтобы определить, насколько далеко сервер впереди вас или за вами, а затем используйте strtotime(), чтобы получить ваше текущее время.

Например, если сервер на 2 часа больше, чем вам нужно использовать

 date("Y-m-d H:i:s", strtotime("-2 hours"));

HTH

JG

0

Используйте сейчас() или SYSDATE() в запросе вставки:

insert into mytable set datetimefield=sysdate() 

Просто убедитесь, что сервер времени синхронизируется, и что он находится в правильном часовом поясе. В противном случае вам придется сделать некоторые дополнительные трюки, чтобы сдвинуть дату/время.

Если времени имеет решающее значение, имейте это в виду:

С MySQL 5.0.13, SYSDATE() возвращает время, в которое он выполняет. Этот отличается от поведения для NOW(), , который возвращает постоянное время, в течение которого указывает время начала выполнения оператора . (В пределах хранимой процедуры или триггера, NOW() возвращает время, при котором подпрограмме или триггер начал выполнение.)

0

Если вы используете поле временной метки и базы данных MySQL, вы можете просто позвонить CURRENT_TIMESTAMP. Я рекомендую не сохранять данные времени как временную метку unix, так как вы можете использовать определенные по дате функции в полях даты/времени, а также извлекать временную метку unix из них.

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