@ 2013-01-15T11:43:52Z <?php
// Set demo vars
$year = 2012;
$months = array(10,11,12);
$days = array(1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22,23,24,26,27,28,30);
$dateWs = array();
foreach($months AS $month)
foreach($days AS $day)
$datesWS[] = new DateTime(implode('-',array($year,$month,$day))); // Push DateTime object to the WebService array
// Shuffle
shuffle($datesWS);
// Sort dates
usort($datesWS, function ($a, $b){
return ($a == $b) ? 0 : (($a > $b) ? 1 : -1);
});
$dateIni = count($datesWS)>0 ? reset($datesWS) : 0; // Get first date
$dateEnd = count($datesWS)>0 ? end($datesWS) : 0; // Get last date
$interval = new DateInterval('P1D'); // Set date interval as 1 day
// Generate dates range and Transform iterator to array
$datesRange = iterator_to_array(new DatePeriod($dateIni, $interval, $dateEnd->modify( '+1 day' )));
// This way seems to work
$excludeDates = array_udiff($datesRange, $datesWS, function ($a, $b) {
return $a == $b ? 0 : -1;
});
/*foreach($datesRange AS $date)
{
if(!in_array($date->format('d/m/Y'),array_values(array_map(function($obj){
return $obj->format('d/m/Y');
},$datesWS))))
$excludeDates[] = $date->format('d/m/Y');
}*/
var_dump($excludeDates);
/*
// This way should be more efficient, but I'm fed up with it!
// Get excluded dates
$excludeDates = array_udiff($datesRange, $datesWS, function ($a, $b) {
return $a == $b ? 0 : 1;
}); // Comment/Uncomment this in order to print this method or the other one
// Print array(objects) as array(strings)
var_dump(array_values(array_map(function($obj){
return $obj->format('d/m/Y');
},$datesWS)));
var_dump(array_values(array_map(function($obj){
return $obj->format('d/m/Y');
},$datesRange)));
var_dump(array_values(array_map(function($obj){
return $obj->format('d/m/Y');
},$excludeDates)));
*/
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.20 , 7.1.0 - 7.1.7 , 7.2.0 array(72) {
[1]=>
object(DateTime)#77 (3) {
["date"]=>
string(26) "2012-10-02 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[2]=>
object(DateTime)#78 (3) {
["date"]=>
string(26) "2012-10-03 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[3]=>
object(DateTime)#79 (3) {
["date"]=>
string(26) "2012-10-04 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[4]=>
object(DateTime)#80 (3) {
["date"]=>
string(26) "2012-10-05 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[5]=>
object(DateTime)#81 (3) {
["date"]=>
string(26) "2012-10-06 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[6]=>
object(DateTime)#82 (3) {
["date"]=>
string(26) "2012-10-07 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[7]=>
object(DateTime)#83 (3) {
["date"]=>
string(26) "2012-10-08 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[8]=>
object(DateTime)#84 (3) {
["date"]=>
string(26) "2012-10-09 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[9]=>
object(DateTime)#85 (3) {
["date"]=>
string(26) "2012-10-10 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[10]=>
object(DateTime)#86 (3) {
["date"]=>
string(26) "2012-10-11 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[11]=>
object(DateTime)#87 (3) {
["date"]=>
string(26) "2012-10-12 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[12]=>
object(DateTime)#88 (3) {
["date"]=>
string(26) "2012-10-13 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[13]=>
object(DateTime)#89 (3) {
["date"]=>
string(26) "2012-10-14 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[14]=>
object(DateTime)#90 (3) {
["date"]=>
string(26) "2012-10-15 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[15]=>
object(DateTime)#91 (3) {
["date"]=>
string(26) "2012-10-16 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[16]=>
object(DateTime)#92 (3) {
["date"]=>
string(26) "2012-10-17 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[17]=>
object(DateTime)#93 (3) {
["date"]=>
string(26) "2012-10-18 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[18]=>
object(DateTime)#94 (3) {
["date"]=>
string(26) "2012-10-19 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[19]=>
object(DateTime)#95 (3) {
["date"]=>
string(26) "2012-10-20 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[20]=>
object(DateTime)#96 (3) {
["date"]=>
string(26) "2012-10-21 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[21]=>
object(DateTime)#97 (3) {
["date"]=>
string(26) "2012-10-22 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[22]=>
object(DateTime)#98 (3) {
["date"]=>
string(26) "2012-10-23 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[23]=>
object(DateTime)#99 (3) {
["date"]=>
string(26) "2012-10-24 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[24]=>
object(DateTime)#100 (3) {
["date"]=>
string(26) "2012-10-25 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[25]=>
object(DateTime)#101 (3) {
["date"]=>
string(26) "2012-10-26 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[26]=>
object(DateTime)#102 (3) {
["date"]=>
string(26) "2012-10-27 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[27]=>
object(DateTime)#103 (3) {
["date"]=>
string(26) "2012-10-28 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[28]=>
object(DateTime)#104 (3) {
["date"]=>
string(26) "2012-10-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[29]=>
object(DateTime)#105 (3) {
["date"]=>
string(26) "2012-10-30 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[30]=>
object(DateTime)#106 (3) {
["date"]=>
string(26) "2012-10-31 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[31]=>
object(DateTime)#107 (3) {
["date"]=>
string(26) "2012-11-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[32]=>
object(DateTime)#108 (3) {
["date"]=>
string(26) "2012-11-02 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[33]=>
object(DateTime)#109 (3) {
["date"]=>
string(26) "2012-11-03 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[34]=>
object(DateTime)#110 (3) {
["date"]=>
string(26) "2012-11-04 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[35]=>
object(DateTime)#111 (3) {
["date"]=>
string(26) "2012-11-05 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[36]=>
object(DateTime)#112 (3) {
["date"]=>
string(26) "2012-11-06 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[37]=>
object(DateTime)#113 (3) {
["date"]=>
string(26) "2012-11-07 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[38]=>
object(DateTime)#114 (3) {
["date"]=>
string(26) "2012-11-08 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[39]=>
object(DateTime)#115 (3) {
["date"]=>
string(26) "2012-11-09 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[40]=>
object(DateTime)#116 (3) {
["date"]=>
string(26) "2012-11-10 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[41]=>
object(DateTime)#117 (3) {
["date"]=>
string(26) "2012-11-11 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[42]=>
object(DateTime)#118 (3) {
["date"]=>
string(26) "2012-11-12 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[43]=>
object(DateTime)#119 (3) {
["date"]=>
string(26) "2012-11-13 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[44]=>
object(DateTime)#120 (3) {
["date"]=>
string(26) "2012-11-14 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[45]=>
object(DateTime)#121 (3) {
["date"]=>
string(26) "2012-11-15 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[46]=>
object(DateTime)#122 (3) {
["date"]=>
string(26) "2012-11-16 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[48]=>
object(DateTime)#124 (3) {
["date"]=>
string(26) "2012-11-18 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[50]=>
object(DateTime)#126 (3) {
["date"]=>
string(26) "2012-11-20 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[55]=>
object(DateTime)#131 (3) {
["date"]=>
string(26) "2012-11-25 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[59]=>
object(DateTime)#135 (3) {
["date"]=>
string(26) "2012-11-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[65]=>
object(DateTime)#141 (3) {
["date"]=>
string(26) "2012-12-05 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[70]=>
object(DateTime)#146 (3) {
["date"]=>
string(26) "2012-12-10 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[71]=>
object(DateTime)#147 (3) {
["date"]=>
string(26) "2012-12-11 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[72]=>
object(DateTime)#148 (3) {
["date"]=>
string(26) "2012-12-12 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[73]=>
object(DateTime)#149 (3) {
["date"]=>
string(26) "2012-12-13 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[74]=>
object(DateTime)#150 (3) {
["date"]=>
string(26) "2012-12-14 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[75]=>
object(DateTime)#151 (3) {
["date"]=>
string(26) "2012-12-15 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[76]=>
object(DateTime)#152 (3) {
["date"]=>
string(26) "2012-12-16 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[77]=>
object(DateTime)#153 (3) {
["date"]=>
string(26) "2012-12-17 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[78]=>
object(DateTime)#154 (3) {
["date"]=>
string(26) "2012-12-18 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[79]=>
object(DateTime)#155 (3) {
["date"]=>
string(26) "2012-12-19 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[80]=>
object(DateTime)#156 (3) {
["date"]=>
string(26) "2012-12-20 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[81]=>
object(DateTime)#157 (3) {
["date"]=>
string(26) "2012-12-21 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[82]=>
object(DateTime)#158 (3) {
["date"]=>
string(26) "2012-12-22 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[83]=>
object(DateTime)#159 (3) {
["date"]=>
string(26) "2012-12-23 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[84]=>
object(DateTime)#160 (3) {
["date"]=>
string(26) "2012-12-24 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[85]=>
object(DateTime)#161 (3) {
["date"]=>
string(26) "2012-12-25 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[86]=>
object(DateTime)#162 (3) {
["date"]=>
string(26) "2012-12-26 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[87]=>
object(DateTime)#163 (3) {
["date"]=>
string(26) "2012-12-27 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[88]=>
object(DateTime)#164 (3) {
["date"]=>
string(26) "2012-12-28 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[89]=>
object(DateTime)#165 (3) {
["date"]=>
string(26) "2012-12-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[90]=>
object(DateTime)#166 (3) {
["date"]=>
string(26) "2012-12-30 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
}
Output for 5.4.30 - 5.4.45 , 5.5.24 - 5.5.35 , 5.6.7 - 5.6.28 array(67) {
[0]=>
object(DateTime)#75 (3) {
["date"]=>
string(26) "2012-10-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[1]=>
object(DateTime)#76 (3) {
["date"]=>
string(26) "2012-10-02 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[2]=>
object(DateTime)#77 (3) {
["date"]=>
string(26) "2012-10-03 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[3]=>
object(DateTime)#78 (3) {
["date"]=>
string(26) "2012-10-04 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[4]=>
object(DateTime)#79 (3) {
["date"]=>
string(26) "2012-10-05 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[5]=>
object(DateTime)#80 (3) {
["date"]=>
string(26) "2012-10-06 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[6]=>
object(DateTime)#81 (3) {
["date"]=>
string(26) "2012-10-07 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[7]=>
object(DateTime)#82 (3) {
["date"]=>
string(26) "2012-10-08 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[8]=>
object(DateTime)#83 (3) {
["date"]=>
string(26) "2012-10-09 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[9]=>
object(DateTime)#84 (3) {
["date"]=>
string(26) "2012-10-10 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[10]=>
object(DateTime)#85 (3) {
["date"]=>
string(26) "2012-10-11 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[11]=>
object(DateTime)#86 (3) {
["date"]=>
string(26) "2012-10-12 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[12]=>
object(DateTime)#87 (3) {
["date"]=>
string(26) "2012-10-13 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[13]=>
object(DateTime)#88 (3) {
["date"]=>
string(26) "2012-10-14 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[14]=>
object(DateTime)#89 (3) {
["date"]=>
string(26) "2012-10-15 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[15]=>
object(DateTime)#90 (3) {
["date"]=>
string(26) "2012-10-16 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[16]=>
object(DateTime)#91 (3) {
["date"]=>
string(26) "2012-10-17 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[17]=>
object(DateTime)#92 (3) {
["date"]=>
string(26) "2012-10-18 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[18]=>
object(DateTime)#93 (3) {
["date"]=>
string(26) "2012-10-19 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[19]=>
object(DateTime)#94 (3) {
["date"]=>
string(26) "2012-10-20 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[20]=>
object(DateTime)#95 (3) {
["date"]=>
string(26) "2012-10-21 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[21]=>
object(DateTime)#96 (3) {
["date"]=>
string(26) "2012-10-22 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[22]=>
object(DateTime)#97 (3) {
["date"]=>
string(26) "2012-10-23 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[23]=>
object(DateTime)#98 (3) {
["date"]=>
string(26) "2012-10-24 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[24]=>
object(DateTime)#99 (3) {
["date"]=>
string(26) "2012-10-25 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[25]=>
object(DateTime)#100 (3) {
["date"]=>
string(26) "2012-10-26 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[26]=>
object(DateTime)#101 (3) {
["date"]=>
string(26) "2012-10-27 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[27]=>
object(DateTime)#102 (3) {
["date"]=>
string(26) "2012-10-28 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[28]=>
object(DateTime)#103 (3) {
["date"]=>
string(26) "2012-10-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[29]=>
object(DateTime)#104 (3) {
["date"]=>
string(26) "2012-10-30 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[30]=>
object(DateTime)#105 (3) {
["date"]=>
string(26) "2012-10-31 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[31]=>
object(DateTime)#106 (3) {
["date"]=>
string(26) "2012-11-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[32]=>
object(DateTime)#107 (3) {
["date"]=>
string(26) "2012-11-02 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[33]=>
object(DateTime)#108 (3) {
["date"]=>
string(26) "2012-11-03 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[34]=>
object(DateTime)#109 (3) {
["date"]=>
string(26) "2012-11-04 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[35]=>
object(DateTime)#110 (3) {
["date"]=>
string(26) "2012-11-05 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[36]=>
object(DateTime)#111 (3) {
["date"]=>
string(26) "2012-11-06 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[37]=>
object(DateTime)#112 (3) {
["date"]=>
string(26) "2012-11-07 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[38]=>
object(DateTime)#113 (3) {
["date"]=>
string(26) "2012-11-08 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[39]=>
object(DateTime)#114 (3) {
["date"]=>
string(26) "2012-11-09 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[40]=>
object(DateTime)#115 (3) {
["date"]=>
string(26) "2012-11-10 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[41]=>
object(DateTime)#116 (3) {
["date"]=>
string(26) "2012-11-11 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[42]=>
object(DateTime)#117 (3) {
["date"]=>
string(26) "2012-11-12 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[43]=>
object(DateTime)#118 (3) {
["date"]=>
string(26) "2012-11-13 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[44]=>
object(DateTime)#119 (3) {
["date"]=>
string(26) "2012-11-14 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[45]=>
object(DateTime)#120 (3) {
["date"]=>
string(26) "2012-11-15 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[46]=>
object(DateTime)#121 (3) {
["date"]=>
string(26) "2012-11-16 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[50]=>
object(DateTime)#125 (3) {
["date"]=>
string(26) "2012-11-20 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[55]=>
object(DateTime)#130 (3) {
["date"]=>
string(26) "2012-11-25 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[59]=>
object(DateTime)#134 (3) {
["date"]=>
string(26) "2012-11-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[65]=>
object(DateTime)#140 (3) {
["date"]=>
string(26) "2012-12-05 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[70]=>
object(DateTime)#145 (3) {
["date"]=>
string(26) "2012-12-10 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[71]=>
object(DateTime)#146 (3) {
["date"]=>
string(26) "2012-12-11 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[72]=>
object(DateTime)#147 (3) {
["date"]=>
string(26) "2012-12-12 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[73]=>
object(DateTime)#148 (3) {
["date"]=>
string(26) "2012-12-13 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[74]=>
object(DateTime)#149 (3) {
["date"]=>
string(26) "2012-12-14 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[75]=>
object(DateTime)#150 (3) {
["date"]=>
string(26) "2012-12-15 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[76]=>
object(DateTime)#151 (3) {
["date"]=>
string(26) "2012-12-16 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[77]=>
object(DateTime)#152 (3) {
["date"]=>
string(26) "2012-12-17 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[78]=>
object(DateTime)#153 (3) {
["date"]=>
string(26) "2012-12-18 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[79]=>
object(DateTime)#154 (3) {
["date"]=>
string(26) "2012-12-19 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[80]=>
object(DateTime)#155 (3) {
["date"]=>
string(26) "2012-12-20 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[81]=>
object(DateTime)#156 (3) {
["date"]=>
string(26) "2012-12-21 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[85]=>
object(DateTime)#160 (3) {
["date"]=>
string(26) "2012-12-25 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[88]=>
object(DateTime)#163 (3) {
["date"]=>
string(26) "2012-12-28 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[89]=>
object(DateTime)#164 (3) {
["date"]=>
string(26) "2012-12-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[90]=>
object(DateTime)#165 (3) {
["date"]=>
string(26) "2012-12-30 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
}
Output for 5.3.0 - 5.3.29 , 5.4.0 - 5.4.29 array(67) {
[0]=>
object(DateTime)#75 (3) {
["date"]=>
string(19) "2012-10-01 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[1]=>
object(DateTime)#76 (3) {
["date"]=>
string(19) "2012-10-02 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[2]=>
object(DateTime)#77 (3) {
["date"]=>
string(19) "2012-10-03 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[3]=>
object(DateTime)#78 (3) {
["date"]=>
string(19) "2012-10-04 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[4]=>
object(DateTime)#79 (3) {
["date"]=>
string(19) "2012-10-05 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[5]=>
object(DateTime)#80 (3) {
["date"]=>
string(19) "2012-10-06 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[6]=>
object(DateTime)#81 (3) {
["date"]=>
string(19) "2012-10-07 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[7]=>
object(DateTime)#82 (3) {
["date"]=>
string(19) "2012-10-08 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[8]=>
object(DateTime)#83 (3) {
["date"]=>
string(19) "2012-10-09 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[9]=>
object(DateTime)#84 (3) {
["date"]=>
string(19) "2012-10-10 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[10]=>
object(DateTime)#85 (3) {
["date"]=>
string(19) "2012-10-11 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[11]=>
object(DateTime)#86 (3) {
["date"]=>
string(19) "2012-10-12 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[12]=>
object(DateTime)#87 (3) {
["date"]=>
string(19) "2012-10-13 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[13]=>
object(DateTime)#88 (3) {
["date"]=>
string(19) "2012-10-14 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[14]=>
object(DateTime)#89 (3) {
["date"]=>
string(19) "2012-10-15 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[15]=>
object(DateTime)#90 (3) {
["date"]=>
string(19) "2012-10-16 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[16]=>
object(DateTime)#91 (3) {
["date"]=>
string(19) "2012-10-17 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[17]=>
object(DateTime)#92 (3) {
["date"]=>
string(19) "2012-10-18 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[18]=>
object(DateTime)#93 (3) {
["date"]=>
string(19) "2012-10-19 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[19]=>
object(DateTime)#94 (3) {
["date"]=>
string(19) "2012-10-20 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[20]=>
object(DateTime)#95 (3) {
["date"]=>
string(19) "2012-10-21 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[21]=>
object(DateTime)#96 (3) {
["date"]=>
string(19) "2012-10-22 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[22]=>
object(DateTime)#97 (3) {
["date"]=>
string(19) "2012-10-23 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[23]=>
object(DateTime)#98 (3) {
["date"]=>
string(19) "2012-10-24 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[24]=>
object(DateTime)#99 (3) {
["date"]=>
string(19) "2012-10-25 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[25]=>
object(DateTime)#100 (3) {
["date"]=>
string(19) "2012-10-26 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[26]=>
object(DateTime)#101 (3) {
["date"]=>
string(19) "2012-10-27 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[27]=>
object(DateTime)#102 (3) {
["date"]=>
string(19) "2012-10-28 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[28]=>
object(DateTime)#103 (3) {
["date"]=>
string(19) "2012-10-29 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[29]=>
object(DateTime)#104 (3) {
["date"]=>
string(19) "2012-10-30 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[30]=>
object(DateTime)#105 (3) {
["date"]=>
string(19) "2012-10-31 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[31]=>
object(DateTime)#106 (3) {
["date"]=>
string(19) "2012-11-01 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[32]=>
object(DateTime)#107 (3) {
["date"]=>
string(19) "2012-11-02 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[33]=>
object(DateTime)#108 (3) {
["date"]=>
string(19) "2012-11-03 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[34]=>
object(DateTime)#109 (3) {
["date"]=>
string(19) "2012-11-04 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[35]=>
object(DateTime)#110 (3) {
["date"]=>
string(19) "2012-11-05 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[36]=>
object(DateTime)#111 (3) {
["date"]=>
string(19) "2012-11-06 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[37]=>
object(DateTime)#112 (3) {
["date"]=>
string(19) "2012-11-07 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[38]=>
object(DateTime)#113 (3) {
["date"]=>
string(19) "2012-11-08 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[39]=>
object(DateTime)#114 (3) {
["date"]=>
string(19) "2012-11-09 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[40]=>
object(DateTime)#115 (3) {
["date"]=>
string(19) "2012-11-10 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[41]=>
object(DateTime)#116 (3) {
["date"]=>
string(19) "2012-11-11 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[42]=>
object(DateTime)#117 (3) {
["date"]=>
string(19) "2012-11-12 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[43]=>
object(DateTime)#118 (3) {
["date"]=>
string(19) "2012-11-13 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[44]=>
object(DateTime)#119 (3) {
["date"]=>
string(19) "2012-11-14 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[45]=>
object(DateTime)#120 (3) {
["date"]=>
string(19) "2012-11-15 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[46]=>
object(DateTime)#121 (3) {
["date"]=>
string(19) "2012-11-16 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[50]=>
object(DateTime)#125 (3) {
["date"]=>
string(19) "2012-11-20 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[55]=>
object(DateTime)#130 (3) {
["date"]=>
string(19) "2012-11-25 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[59]=>
object(DateTime)#134 (3) {
["date"]=>
string(19) "2012-11-29 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[65]=>
object(DateTime)#140 (3) {
["date"]=>
string(19) "2012-12-05 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[70]=>
object(DateTime)#145 (3) {
["date"]=>
string(19) "2012-12-10 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[71]=>
object(DateTime)#146 (3) {
["date"]=>
string(19) "2012-12-11 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[72]=>
object(DateTime)#147 (3) {
["date"]=>
string(19) "2012-12-12 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[73]=>
object(DateTime)#148 (3) {
["date"]=>
string(19) "2012-12-13 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[74]=>
object(DateTime)#149 (3) {
["date"]=>
string(19) "2012-12-14 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[75]=>
object(DateTime)#150 (3) {
["date"]=>
string(19) "2012-12-15 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[76]=>
object(DateTime)#151 (3) {
["date"]=>
string(19) "2012-12-16 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[77]=>
object(DateTime)#152 (3) {
["date"]=>
string(19) "2012-12-17 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[78]=>
object(DateTime)#153 (3) {
["date"]=>
string(19) "2012-12-18 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[79]=>
object(DateTime)#154 (3) {
["date"]=>
string(19) "2012-12-19 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[80]=>
object(DateTime)#155 (3) {
["date"]=>
string(19) "2012-12-20 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[81]=>
object(DateTime)#156 (3) {
["date"]=>
string(19) "2012-12-21 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[85]=>
object(DateTime)#160 (3) {
["date"]=>
string(19) "2012-12-25 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[88]=>
object(DateTime)#163 (3) {
["date"]=>
string(19) "2012-12-28 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[89]=>
object(DateTime)#164 (3) {
["date"]=>
string(19) "2012-12-29 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
[90]=>
object(DateTime)#165 (3) {
["date"]=>
string(19) "2012-12-30 00:00:00"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
}
Output for 4.4.2 - 4.4.9 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 Parse error: syntax error, unexpected T_FUNCTION in /in/g8jfY on line 18
Process exited with code 255 . Output for 4.3.0 - 4.3.1 , 4.3.5 - 4.3.11 , 4.4.0 - 4.4.1 , 5.0.0 - 5.0.5 Parse error: parse error, unexpected T_FUNCTION in /in/g8jfY on line 18
Process exited with code 255 . Output for 4.3.2 - 4.3.4 Parse error: parse error in /in/g8jfY on line 18
Process exited with code 255 . preferences:dark mode live preview
168.41 ms | 401 KiB | 175 Q