我如何将datetime转换为unix时间戳并将其与php中的其他时间戳进行比较?

时间:2016-01-09 12:43:11

标签: php mysql datetime unix

我有一个页面,我有两个文本框,用户将输入unix时间戳和日期时间,我必须比较时间戳和日期时间,但在php时区根据时区给出不同的时间戳,所以代码不起作用在时区不同的所有地方。

请帮助我使用过..

php中的

strtotime(),mktime(),getTimestamp() 

也使用了我的sql ..

SELECT UNIX_TIMESTAMP()
但所有人都给出了不同的时间戳。

$sql = "SELECT UNIX_TIMESTAMP('date time from text box') as timeStampfromdb";
            $result = mysql_query($sql);
            while($row = mysql_fetch_array($result))
            {
                $timeStampFromDateTime = $row["timeStampfromdb"];
            }           
            if($timeStampFromDateTime == timestamp textbox value)
            {
                matched
            }
            else
            {
                not matched
            }

2 个答案:

答案 0 :(得分:0)

你可以在php.ini文件中设置php timezone,你需要GMT" GMT"。

您也可以尝试使用代码:

echo date('Y-m-d H:i:s T', time()) . "<br>\n";
date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s T', time()) . "<br>\n";

time()应该返回当前的unix时间戳。

答案 1 :(得分:0)

如果您正在处理跨时区的日期和时间,您应该使用GMT中的所有内容来避免时区问题。如果您需要在某个时间点显示日期和时间,那么可能需要进行任何时区转换。