2015-08-20 101 views
0

我创建了一个拍卖网站,时间和日期插入以下格式:比较日期和时间与用户时区PHP

拍卖时间:2015年8月20日@ 05:30下午IST

我希望将这段时间与我用户的时间匹配,并且不希望显示按照用户时区通过开始日期的拍卖。假设用户可能来自不同的时区。

有人可以请指导我这一点。

+0

的js给客户端服务器端的日期时间,PHP服务器的日期时间。有了这个,你可以轻松解决你的问题。使用php获取你的日期,使用JS获取客户端日期然后比较它们 – Hearner

+0

你是否单独存储用户的时区,可能是TZ标识符;例如:“Europe/Dublin”还是“America \ New_York”? –

+1

我很难理解这个问题。拍卖是积极的或无效的,时区设置不能(不应该)影响。所以你只需要告诉拍卖是否已经开始,通过,将要开始,或者是在几天,几小时和/或几分钟之内。 (也许只是自动跳过通过的。)或者我错过了什么? –

回答

1

为了进行比较,您必须将用户的时区存储在某个地方。这意味着您的用户模型(您系统中的用户特定信息)必须知道他们的时区。

然后在PHP中,您可以使用DateTime和DateTimeZone类来玩它。

给你举一个例子,这是在文档中,你可以实例日期时间是这样的:

$dt = new DateTime("your date string", new DateTimeZone("[timezone_location_string]")); 

您可以用PHP comparisson运营商(<比较datetime对象,>,> =,< = ,==)这很不错。

在这里,你必须在PHP中使用实例化对象像DateTimeZone()时区列表:

http://php.net/manual/en/timezones.php

+0

这是一个很好的答案,但不幸的是,OP在评论中澄清说他们没有个人用户的时区标识符,这使得问题变得复杂。 –