Php 如何获得准确的时区以显示“您在几天/小时前回答”?

Php 如何获得准确的时区以显示“您在几天/小时前回答”?,php,mysql,Php,Mysql,我来自韩国,我的时区是GMT+9 如果有任何评论发布于2014年10月22日,我不知道如何获取daytimeam/pm <?php $date = date_parse_from_format('d-m-Y', '22-10-2014'); $timestamp = mktime(0, 0, 0, $date['month'], $date['day'], $date['year']); $current_time = time(); $time=$current_time-$

我来自韩国,我的时区是GMT+9

如果有任何评论发布于2014年10月22日,我不知道如何获取daytimeam/pm

<?php

$date = date_parse_from_format('d-m-Y', '22-10-2014');

$timestamp = mktime(0, 0, 0, $date['month'], $date['day'], $date['year']);

$current_time   = time();

$time=$current_time-$timestamp;

echo "<br/>diff ".$time;

?>
从上面我可以得到基于$time的秒/分钟/小时数。但是如何在世界上任何地方离开服务器上的时区呢?如何在那一天准确的发布时间,这样我就可以说,这篇文章是在s/m/h/d/周/月/年前发布的

这是我用mysql试过的

   <?php
   $current_time=time();
   //echo time(); 

   $postdate=date("d-m-Y ");
   $date = date_parse_from_format('d-m-Y', $postdate);
   //echo"<br/> date". $postdate;
   $timestamp = mktime(0, 0, 0, $date['month'], $date['day'], $date['year']);
   //echo"<br/> timestamp". $timestamp;

    $insert =mysql_query("UPDATE time SET time = '$timestamp' WHERE username='madhusudan'");

    $call=mysql_query("SELECT * FROM time WHERE username='madhusudan'");
       while($num=mysql_fetch_assoc($call)){
       $time_db=$num['time'];

       }
    $time=$current_time-$time_db;
    echo $time;

    ?>


input date=23-10-2014
data inserted in database=1414015200


Result
$time=54769 


But, I inserted just few second ago??????

How to solve it Bro.....

使用gmt存储和比较。只有在需要显示时才更改时区。@exussum,请您用一个简单的例子解释一下,实际上我对代码还很陌生。