2015-08-20 45 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在評論中澄清說他們沒有個人用戶的時區標識符,這使得問題變得複雜。 –