выбор структуры данных для коллекции датированных объектов

Я пытаюсь создать объект PHP (назовите его Incident_Collection ), который будет содержать коллекцию других объектов, каждый из которых реализует инцидент ] интерфейс.

incident_date;
  }

}
?>

Сначала я решил, что просто сделаю мою Incident_Collection реализацией IteratorAggregate и сохраню объекты Incident в свойстве массива коллекции:

collection);    
  }

  public function sort(){
     //sort by $incident->when() values in $this->collection
  }

  /*also __get($var), __set($var,$value), add(Incident $object), remove(Incident $object) and other functions*/
}
?>

Но потому что Incident объекты имеют естественный порядок, я подумал, что, возможно, расширение одной из структур данных SPL могло бы быть более подходящим / эффективным. Но какой именно? Я не совсем понимаю, когда использовать конкретную структуру данных.

Еще одна проблема заключается в том, что могут быть ограничения на Incident_Collection . Например, и другие вопросы, которые я нашел, связаны с операциями с датами, а не только с получением информации по мере необходимости. Цель. Я хочу получить дату, как показано ниже -…

Я мало знаю о Javascript, и другие вопросы, которые я нашел, связаны с операциями с датами, а не только с получением информации по мере необходимости.

Цель

Я хочу получить дату в следующем формате:

Напечатано в четверг, 27 января 2011 г., в 17:42:21

На данный момент я получил следующее:

var now = new Date();
var h = now.getHours();
var m = now.getMinutes();
var s = now.getSeconds();

h = checkTime(h);
m = checkTime(m);
s = checkTime(s);

var prnDt = "Printed on Thursday, " + now.getDate() + " January " + now.getFullYear() + " at " + h + ":" + m + ":" s;

Теперь мне нужно знать, как получить день недели и месяц года (их имена).

Есть ли простой способ сделать это, или мне следует рассмотреть возможность использования массивов, где я бы просто проиндексировал нужное значение, используя сейчас .getMonth () и сейчас. getDay () ?

110
задан Qantas 94 Heavy 2 April 2014 в 11:26
поделиться