SQL'de çözmeniz daha mantıklı olur, ama PHP çözümü için;

<?php

$dates = array(
  '2016-01-09 01:16:16',
  '2016-01-09 06:16:16',
  '2016-01-09 09:16:16',
  '2016-01-09 09:15:16',
  '2016-01-08 09:15:16',
  '2016-01-06 09:15:16',
  '2016-01-07 09:15:16',
  '2016-01-08 08:15:16',
);

$result = array();

foreach ($dates as $date) {
  $date = DateTime::createFromFormat('Y-m-d H:i:s', $date)->format('Y-m-d');

  if (isset($result[$date])) {
    ++$result[$date];
  } else {
    $result[$date] = 1;
  }
}

array_walk($result, function(&$value, $key) {
  $value = array(
    'date' => $key,
    'value' => $value
  );
});

echo json_encode(array_values($result));