/**
  * @param GradebookItem $item1
  * @param GradebookItem $item2
  * @return int
  */
 public function sort_by_date($item1, $item2)
 {
     if (is_int($item1->get_date())) {
         $timestamp1 = $item1->get_date();
     } else {
         $date = $item1->get_date();
         if (!empty($date)) {
             $timestamp1 = api_strtotime($date, 'UTC');
         } else {
             $timestamp1 = null;
         }
     }
     if (is_int($item2->get_date())) {
         $timestamp2 = $item2->get_date();
     } else {
         $timestamp2 = api_strtotime($item2->get_date(), 'UTC');
     }
     if ($timestamp1 == $timestamp2) {
         return $this->sort_by_name($item1, $item2);
     } else {
         return $timestamp1 < $timestamp2 ? -1 : 1;
     }
 }