Firstly, I have a column like shown in this picture:
Users choose their timezone when they register. How would I go about interpreting time according to the user? In this situation I want users to be able to define when they want people to be active, so IE Bob wants to search for users who are active from 9am to 12pm. What timestamps would I need to insert into the database so that users could search in this manner?
Update
I was also asking on exactly how to find if one time overlaps with another, however the cross time formatting is essential to this. I will include this code snippet of how I found if times were overlapping. Thanks Pekka for the proper answer too.
<?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;
?>
With this example you will see that 9am-12pm UTC overlaps with 11pm-5am America/Chicago