2014-01-21 8 views
1

Я пытаюсь отобразить время, которое хранится в базе данных MySQL, с определенным часовым поясом.Настройка часового пояса в PHP

$time = '2014-01-20 21:40:13'; 

Есть ли способ печати на этот раз в GMT+5.30 or Asia/Kolkata (timezone)?

+0

Что такое дата в базе данных? – zerkms

+1

У меня есть некоторые записи, которые хранятся в моей базе данных, и я хочу отображать время в этих записях с определенным часовым поясом. И я видел «date_default_timezone_set()», но я не думаю, что это достаточно для этого. –

ответ

3

Объектно-ориентированный стиль

<?php 
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); 
echo $date->format('Y-m-d H:i:sP') . "\n"; 

$date->setTimezone(new DateTimeZone('Pacific/Chatham')); 
echo $date->format('Y-m-d H:i:sP') . "\n"; 
?> 

Процедурный стиль

<?php 
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru')); 
echo date_format($date, 'Y-m-d H:i:sP') . "\n"; 

date_timezone_set($date, timezone_open('Pacific/Chatham')); 
echo date_format($date, 'Y-m-d H:i:sP') . "\n"; 
?> 

Documentation: http://us3.php.net/manual/en/datetime.construct.php

+1

[straight из документации, так же, как мне нравится] (http://us3.php.net/manual/en/datetime.construct.php) – Ohgodwhy

3

date_default_timezone_set() функция с требует часового пояса в качестве аргумента в одинарных кавычках, все date() следующие ниже будет отображать времени в запрошенном часовом поясе

<?php 
    date_default_timezone_set("Asia/Kolkata"); 
    echo date('d-m-Y H:i:s'); //Returns IST 
?> 
0

Имейте MySQL, чтобы вернуть время в UNIX_TIMESTAMP() UNIX timestamp и использовать PHP DateTime, чтобы отформатировать его в нужном вам часовом поясе.

0
**Try the code........** 

<?php date_default_timezone_set('America/Los_Angeles');?> 

More detail here: http://www.php.net/manual/en/function.date-default-timezone-set.php 
Смежные вопросы