来自mysql表的时间和日期回显

时间:2015-11-13 13:01:36

标签: php mysql date

我有这个问题:

我选择了日期&来自桌子和时间的时间很好地回应了他们,但我不喜欢日期和时间。回应的时间格式。在中南部非洲,我们习惯24小时(比如16:30而不是下午4:30等)。

以下是代码:

("SELECT * FROM me order by 1 DESC LIMIT 0,10");
$date = $run_post['date'];

$time = $run_post['time'];

他们我这样做:

echo $date; 

它给了我 2015-11-13 但我想 2015年11月13日 然后

echo $time; 

给我 2015-11-13 12:53:43 但想要 16:30:00 hrs 格式。

最后,我还要回应我的(UTC + 02:00)开罗时区。目前它给我-2小时

3 个答案:

答案 0 :(得分:1)

您应该使用DateTime类,因为您可以在其中设置时区。

时区欧洲/伦敦的例子:

$date = new DateTime('2015-11-13 12:53:43', new DateTimeZone('Europe/London'));
echo $date->format('d\t\h F Y') . "\n";
echo $date->format('H:i:s') . 'hrs';

How to add Timezone to DateTime

答案 1 :(得分:0)

DateTime类的格式方法是您所需要的。

$date = new DateTime($run_post['time']);
echo $date->format('d\t\h\,F Y');

将回应2015年11月13日的事情)

您有

格式的文档

https://secure.php.net/manual/en/function.date.php

答案 2 :(得分:0)

我假设您的默认时区设置为UTC。如果您想根据您的时区(UTC + 02:00)显示时间,那么您可以这样做:

function display_time($time){
    $unixdatetime = strtotime($time) + 7200;
    return strftime("%d %B %Y, %H:%M %p",$unixdatetime);
}

当您调用此 display_time 函数时,例如,

echo display_time($run_post['time']);

然后会显示,

13 November 2015, 14:53 PM