Would like a php function that takes as its input an array with (1) an array like the following and (2) and offset. The input offset value is an offset in minutes (plus or minus) relative to UTC.
The output array is the "expansion" of the input date(s) reported as actual day, date, time over the next 168 hours (1 week) in chronological order relative to the current timestamp, i.e. - all results should be in the future and be unique. Please use the offset to create a current timestamp relative to UTC.
Success will be when this works on your or my server
Input Array
(
[0] => Array
(
[0] => Every Sunday, 09:00AM
[1] => Every Tuesday, 01:00 PM
[2] => Every Tuesday, 09:00 PM
[3] => Every Wednesday, 09:00 PM
[4] => Every Wednesday, 01:00 PM
[5] => Wednesday, 14 Sep 02:00 PM
[6] => Every Day, 11:00 PM
)
[1] => -360
)
Output Array (if the current timestamp is Sunday, 11 September 2016, 08:00AM)
(
[0] => Sunday, 11 September 2016, 09:00AM
[1] => Sunday, 11 September 2016, 11:00PM
[2] => Monday, 12 September 2016, 11:00PM
[3] => Tuesday, 13 September 2016, 1:00PM
[4] => Tuesday, 13 September 2016, 9:00PM
[5] => Tuesday, 13 September 2016, 11:00PM
[6] => Wednesday, 14 September 2016, 1:00PM
[7] => Wednesday, 14 September 2016, 2:00PM
[8] => Wednesday, 14 September 2016, 9:00PM
[9] => Wednesday, 14 September 2016, 11:00PM
[10] => Thursday, 15 September 2016, 11:00PM
[11] => Friday, 16 September 2016, 11:00PM
[12] => Saturday, 17 September 2016, 11:00PM
)
Output Array (if the current timestamp is Sunday, 11 September 2016, 01:00PM)
(
[0] => Sunday, 11 September 2016, 11:00PM
[1] => Monday, 12 September 2016, 11:00PM
[2] => Tuesday, 13 September 2016, 1:00PM
[3] => Tuesday, 13 September 2016, 9:00PM
[4] => Tuesday, 13 September 2016, 11:00PM
[5] => Wednesday, 14 September 2016, 1:00PM
[6] => Wednesday, 14 September 2016, 2:00PM
[7] => Wednesday, 14 September 2016, 9:00PM
[8] => Wednesday, 14 September 2016, 11:00PM
[9] => Thursday, 15 September 2016, 11:00PM
[10] => Friday, 16 September 2016, 11:00PM
[11] => Saturday, 17 September 2016, 11:00PM
[12] => Sunday, 18 September 2016, 09:00AM
)
Output Array (if the current timestamp is Thursday, 15 September 2016, 11:30PM)
(
[0] => Friday, 16 September 2016, 11:00PM
[1] => Saturday, 17 September 2016, 11:00PM
[2] => Sunday, 18 September 2016, 09:00AM
[3] => Sunday, 18 September 2016, 11:00PM
[4] => Monday, 19 September 2016, 11:00PM
[5] => Tuesday, 20 September 2016, 1:00PM
[6] => Tuesday, 20 September 2016, 9:00PM
[7] => Tuesday, 20 September 2016, 11:00PM
[8] => Wednesday, 21 September 2016, 1:00PM
[9] => Wednesday, 21 September 2016, 9:00PM
[10] => Wednesday, 21 September 2016, 11:00PM
[11] => Thursday, 21 September 2016, 11:00PM
)
// php script to create input array based on input from web form
<?php
if ($_POST)
{
//$str = '["Every Sunday, 09:00AM","Every Tuesday, 01:00 PM","Every Tuesday, 09:00 PM","Every Wednesday, 09:00 PM","Every Wednesday, 01:00 PM","Wednesday, 14 Sep 02:00 PM","Every Day, 11:00 PM"]';
$str = trim(strip_tags($_POST['str']));
$offset = trim(strip_tags($_POST['offset']));
$str = ltrim($str, '["');
$str = rtrim($str, '"]');
$arr = explode("\",\"", $str);
$input_array = array(
$arr,
$offset
);
echo "<pre>"; print_r($input_array); echo "</pre>";
}
?>
<html>
<body>
<form method="post" action="">
<textarea name="str" id="str"><?php echo $str; ?></textarea>
<input type="number" name="offset" id="offset" value="<?php echo $offset; ?>" />
<input type="submit">
</form>
</body>
</html>