1
首先,我有一列像顯示在這張照片:
PHP普遍轉換時間的用戶偏好
用戶選擇自己的時區時,他們註冊。如何根據用戶解釋時間?在這種情況下,我希望用戶能夠定義他們希望人們活躍的時間,所以IE Bob想要搜索從早上9點到下午12點活躍的用戶。我需要將什麼時間戳插入到數據庫中,以便用戶可以以這種方式進行搜索?
更新
我也問究竟上如何找到如果時間與另一個重疊,但是跨時代的格式與當前至關重要的。如果時間重疊,我將包含這段代碼片段。感謝Pekka也有正確的答案。
<?php
date_default_timezone_set('UTC');
$min = strtotime('9am');
$max = strtotime('12pm');
echo $min. ',' .$max . '<br/>';
date_default_timezone_set('America/Chicago');
$mina = strtotime('11pm');
$maxa = strtotime('5am');
echo 'User plays between' . date("g:ia", $min) . ' and ' . date("g:ia", $max) . '<br />';
echo 'You play between' . date("g:ia", $mina) . ' and ' . date("g:ia", $maxa) . '<br />';
if((($mina >= $min) And ($mina <= $max)) Or (($maxa <= $max) And ($maxa >= $min))
Or (($min >= $mina) And ($min <= $maxa)) Or (($max <= $maxa) And ($max >= $mina))
) {
$blend = 'True';
} else {
$blend = 'False';
}
if($maxa === $min Or $mina === $max) $blend = 'False';
echo $blend;
?>
有了這個例子中,你會看到,9 AM-12PM UTC與11 pm-5am重疊美洲/芝加哥
相關/重複:[夏令時和時區最佳做法](http://stackoverflow.com/q/2532729) –
http://php.net/manual/en/function.date-default-timezone -set.php – MLeFevre