Previous Next

Zend_Date API Übersicht

Obwohl die API von Zend_Date simpel und einheitlich ist, ist dessen Design aufgrund der reichhaltigen Permutationen von Operationen und Operanden flexibel und mächtig.

Zend_Date Optionen

Auswahl der Art des Datumsformats

Viele Methoden benutzen Zeichenketten für Datumsformate so ähnlich wie date() von PHP. Wenn man mit den Zeichen der Datumsformaten von PHP mehr Erfahrung hat als mit den ISO-Zeichen für Formate, dann kann man Zend_Date::setOptions(array('format_type' => 'php')) benutzen. Danach können die Zeichen von PHP für Datumsformate für alle Funktionen verwendet werden, die einen $format-Parameter akzeptieren. Durch Benutzen von Zend_Date::setOptions(array('format_type' => 'iso')) kann man wieder auf den Standardmodus zurückwechseln, der nur ISO-Zeichen für Datumsformate unterstützt. Für eine Liste von unterstützten Zeichencodes kann hier nachgelesen werden: selbst definierte AUSGABE-Formate bei Verwendung der date()-Formatzeichen von PHP

Sommer-/Winterzeit und Datumsberechnungen

Wenn Daten manipuliert werden, überschreiten sie manchmal die DST-Grenze (Sommer-/Winterzeit), was normalerweise dazu führt, dass das Datum eine Stunde verliert oder hinzubekommt. Wenn zum Beispiel ein Monat zu einem Datum vor einer DST-Änderung hinzugefügt wird und der Ergebnismonat nach dieser Änderung liegt, sieht es so aus, als ob das Datum durch den Wert des geänderten Datums eine Stunde verliert oder hinzubekommt. Für Grenzstunden wie Mitternacht, für den ersten oder letzten Tag eines Monats, führt das Hinzufügen von genügend Monaten dazu, dass das Datum eine Stunde verliert, wenn die DST-Grenze überschritten wird und damit zum letzten Tag des Vormonats wird, was den Anschein eines "eins fehlt" Fehlers erweckt. Um diese Situationen zu vermeiden, kann die DST-Änderung durch Verwendung der Option fix_dst ignoriert werden. Wenn eine DST-Grenze überschritten wird, wird ja normalerweise abhängig vom Datum eine Stunde hinzugefügt oder entfernt. Zum Beispiel führt eine Datumsberechnung mit DST im Frühling zu einem Datum, welche einen Tag weniger hat als erwartet, wenn die Zeit des Originaldatums 00:00:00 war. Da Zend_Date auf Zeitstempeln basiert und nicht auf Kalenderdaten mit Zeitkomponenten, verliert der Zeitstempel eine Stunde, was zu einem Datum führt, das einen Kalendertag weniger hat, als erwartet. Um solche Problem zu verhindern, kann die Option fix_dst verwendet werden, welche standardmäßig TRUE ist. Das führt dazu, dass die DST keinen Einfluss mehr bei Datumsberechnungen hat ( addMonth(), subMonth()). Zend_Date::setOptions(array('fix_dst' => false)) kann benutzt werden, um Hinzufügen oder Entfernen der DST-Anpassung zu gestatten, wenn Datumsberechnungen durchgeführt werden.

Wenn die aktuelle Zeitzone innerhalb der Instanz von Zend_Date auf UTC oder GMT gestellt ist, wird die Option 'fix_dst' nicht verwendet, weil diese zwei Zeitzonen nicht mit DST arbeiten. Wenn die Zeitzone für diese Instanz wieder auf eine Zeitzone gestellt wird, die nicht UTC oder GMT ist, wird die vorher definierte Option 'fix_dst' wieder für die Datumsberechnungen verwendet.

Monatsberechnungen

Wenn Monate zu einem existierenden Datum hinzugefügt oder davon entfernt werden, kann der Ergebniswert des Monatstages unerwartet sein, wenn das Originaldatum auf einen Tag gefallen ist, der Nahe am Ende des Monats ist. Wenn zum Beispiel ein Monat zum 31sten Jänner hinzugefügt wird, werden Personen, welche mit SQL vertraut sind, den 28sten Februar als Ergebnis erwarten. Auf der anderen Seite werden Personen, welche mit Excel und OpenOffice vertraut sind, den 3ten März als Ergebnis erwarten. Das Problem besteht nur, wenn der Ergebnismonat den Tag nicht hat, der im Originaldatum gesetzt war. Zend Framework Entwickler können das gewünschte Verhalten beeinflussen, indem die Option extend_month genutzt wird, die bei einem Wert von FALSE das SQL-Verhalten, oder bei einem Wert von TRUE das Tabellenverhalten auswählt. Das Standardverhalten für extend_month ist FALSE, um SQL-kompatibles Verhalten zu erlauben. Zend_Date führt Monatsberechnungen standardmäßig in der Art durch, dass Daten auf das Monatsende hin abgeschnitten werden (wenn notwendig), ohne dass in den nächsten Monat umgebrochen wird, wenn das Originaldatum einen Monatstag bestimmt, der die Anzahl der Tage des Ergebnismonats überschreitet. Zend_Date::setOptions(array('extend_month' => true)) kann benutzt werden, um Monatsberechnungen wie in populären Tabellenkalkulationen durchzuführen.

Lokalisierung und Normalisierung von Daten mit Zend_Cache schneller machen

Man kann Zend_Date schneller machen, indem ein Zend_Cache-Adapter verwendet wird. Das verschnellert alle Methoden von Zend_Date, wenn lokalisierte Daten verwendet werden. Zum Beispiel werden alle Methoden hiervon profitieren, welche Zend_Date::DATE und Zend_Date::TIME Konstanten akzeptieren. Um einen Zend_Cache-Adapter für Zend_Date zu verwenden, muss nur Zend_Date::setOptions(array('cache' => $adapter)) aufgerufen werden.

Syncronisierte Zeiten mit Zend_TimeSync erhalten

Normalerweise unterscheiden sich die Uhren von Servern und Computern voneinander. Zend_Date ist dazu fähig, solche Probleme mit Hilfe von Zend_TimeSync zu handhaben. Mit Zend_Date::setOptions(array('timesync' => $timeserver)) kann ein Zeitserver gesetzt werden, welcher den Unterschied zwischen dem eigenen aktuellen Zeitstempel und dem wirklichen aktuellen Zeitstempel für alle Instanzen von Zend_Date setzt. Die Verwendung dieser Option ändert nicht den Zeitstempel von bestehenden Instanzen. Am besten ist es also, dies innerhalb der Bootstrap-Datei zu setzen.

Arbeiten mit Datumswerten

Sobald die Eingabe durch die Erstellung eines Zend_Date-Objekts normalisiert wurde, hat es eine zugeordnete Zeitzone aber die interne Darstellung verwendet » UNIX-Zeitstempel. Damit ein Datum in einer lokalisierten Art und Weise durchsucht werden kann, muss zuerst eine Zeitzone bekannt sein. Die Standardzeitzone ist immer GMT oder UTC. Um die Zeitzone des Objekts zu inspizieren, kann getTimeZone() verwendet werden. Um die Zeitzone des Objekts zu wechseln, kann setTimeZone() verwendet werden. Alle Änderungen des Objekts sind immer relativ zu seiner Zeitzone zu sehen.

Man sollte es vermeiden, Teile von Datumsobjekten mit unterschiedlichen Zeitzonen zu mischen oder zu vergleichen, da dies grundsätzlich unerwartete Resultate zeigen kann, es sei denn, die Manipulationen beziehen sich nur auf den [UNIX-]Zeitstempel. Das Arbeiten mit Zend_Date-Objekten, die unterschiedliche Zeitzonen haben, funktioniert grundsätzlich, abgesehen davon wie vorher erwähnt, da Daten bei der Instantiierung von Zend_Date zu UNIX-Zeitstempel normalisiert werden.

Die meisten Methoden erwarten eine Konstante für die Auswahl des gewünschten Teils $part des Datums, wie z.B. Zend_Date::HOUR. Diese Konstanten sind für alle unten angeführten Funktionen gültig. Eine Liste aller vorhandenen Konstanten wird hier beschrieben: Liste aller Konstanten. Wenn $part nicht spezifiziert wird, wird Zend_Date::TIMESTAMP angenommen. Alternativ kann ein benutzerdefiniertes Format für $part verwendet werden, mit Hilfe der gleichen Mechanismen und Formatdefinitionen wie bei Zend_Locale_Format::getDate(). Wenn ein Datumsobjekt durch Verwendung eines offensichtlich falschen Datums erstellt wird (z.B. wenn die Nummer des Monats größer als 12 ist), wird Zend_Date eine Ausnahme werfen, solange kein spezielles Datumsformat ausgewählt wurde, das heißt, $part ist entweder NULL oder Zend_Date::DATES (ein "fehlertolerantes" Format).

Beispiel #1 Benutzerdefinierte Eingabeformate für Daten

$date1 = new Zend_Date('Feb 31, 2007', null, 'en_US');
echo $date1, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"

$date2 = new Zend_Date('Feb 31, 2007', Zend_Date::DATES, 'en_US');
echo $date2, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"

// Stikte Interpretation des angegebenen Formats
$date3 = new Zend_Date('Feb 31, 2007', 'MM.dd.yyyy');
echo $date3, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"

Wenn der optionale Parameter $locale angegeben wird, dann macht $locale den $date-Operand durch Ersetzen der Monatsnamen und Wochentagsnamen für die Zeichenkette $date eindeutig und sogar Datumszeichenketten können gemäß den Konventionen dieses Gebietsschemas analysiert werden (siehe Zend_Locale_Format::getDate()). Die automatische Normalisierung von lokalisierten $date-Angaben einer Zeichenkette werden nur dann durchgeführt wenn für $part eine der Konstanten Zend_Date::DATE* oder Zend_Date::TIME* verwendet wird. Das Gebietsschema identifiziert die Sprache, welche verwendet werden soll, um Monatsnamen und Wochentagsnamen zu analysieren, wenn $date eine Zeichenkette ist, die ein Datum enthält. Wenn der Eingabeparameter $date nicht angegeben wurde, dann definiert der Parameter $locale das Gebietsschema für lokalisierte Ausgaben (z.B. das Datumsformat für eine Ausgabe als Zeichenkette). Anzumerken ist auch, dass der Parameter $date stattdessen ein Typname sein kann (z.B. $hour für addHour()) wobei das nicht verhindert, dass ein Zend_Date Objekt als Argument für diesen Parameter angegeben werden kann. Wenn $locale nicht angegeben wurde, wird das Gebietsschema des aktuellen Objekts genommen, um $date zu interpretieren oder das lokalisierte Format für die Ausgabe auszuwählen.

Seit Zend Framework 1.7.0 unterstützt Zend_Date auch die Verwendung eines anwendungsweiten Gebietsschemas. Man kann ganz einfach eine Zend_Locale-Instanz in der Registry setzen wie hier gezeigt. Mit dieser Schreibweise braucht man sich nicht um das manuelle Setzen eines Gebietsschemas für jede Instanz zu kümmern, wenn man dasselbe Gebietsschema mehrere Male verwenden will.

// In der Bootstrap-Datei
$locale = new Zend_Locale('de_AT');
Zend_Registry::set('Zend_Locale', $locale);

// Irgendwo in der eigenen Anwendung
$date = new Zend_Date('31.Feb.2007');

Grundsätzliche Zend_Date Operationen für die meisten Teile von Daten

Die Methoden add(), sub(), compare(), get() und set() arbeiten generell mit Daten. In jedem Fall wird die Operation auf dem Datum durchgeführt, das in der Objektinstanz vorhanden ist. Der $date Operand wird für alle diese Methoden benötigt, außer für get() und kann eine Zend_Date Objektinstanz, eine numerische Zeichenkette oder ein Integer sein. Diese Methoden nehmen an, dass $date ein Zeitstempel ist, wenn es kein Objekt ist. Trotzdem kontrolliert der $part Operand, an welchem logischen Teil der zwei Daten gearbeitet werden soll, was Arbeiten an Teilen von Daten des Objekts erlaubt, wie Jahr oder Minute, selbst wenn $date eine lange Form einer Datumszeichenkette enthält wie "Dezember 31, 2007 23:59:59". Das Ergebnis der Operation ändert das Datum im Objekt außer bei compare() und get().

Beispiel #2 Arbeiten an Teilen von Daten

$date = new Zend_Date(); // $date's Zeitstempel === time()

// Ändert $date durch addieren von 12 Stunden
$date->add('12', Zend_Date::HOUR);
print $date;

Es existieren Komfortmethoden für jede Kombination von Grundoperationen und viele normale Datumsabschnitte wie in der unten stehenden Tabelle gezeigt. Diese Komfortmethoden erlauben uns faulen Programmierern zu vermeiden, dass die Konstanten für Datumsabschnitte ausgeschrieben werden müssen. Bequemerweise sind sie benannt durch Kombination eines Prefixes (Name der Basisoperation) und einem Suffix (Art des Datumsabschnittes), wie addYear(). In der unten stehenden Liste existieren alle Kombinationen von "Datumsabschnitten" und "Basisoperationen". Zum Beispiel die Operation "add" existiert für jeden dieser Datumsabschnitte wie addDay(), addYear() und viele mehr.

Diese Komfortmethoden haben eine gleichwertige Funktionalität wie die Methoden für die Basisoperationen, aber sie erwarten $date-Operanden vom Typ Zeichenkette oder Integer, welche nur die Werte enthalten, die durch den Typ definiert sind, der durch das Suffix der Methode definiert wurde. Deshalb identifizieren diese Methoden (z.B. "Year" oder "Minute") die Einheit des $date Operanden, wenn $date eine Zeichenkette oder ein Integer ist

Liste der Datumsabschnitte

Datumsabschnitte
Datumsabschnitt Erklärung
» Zeitstempel UNIX-Zeitstempel, ausgedrückt in Sekunden die vergangen sind seit dem 1. Jänner, 1970 00:00:00 GMT.
» Jahr Gregorianisches Kalenderjahr (z.B. 2006)
» Monat Gregorianisches Kalendermonat (1-12, Lokalisierte Namen werden unterstützt)
» 24 Stunden Uhr Stunde des Tages (0-23) bezeichnet die vergangenen Stunden seit dem Beginn des Tages
» Minute Minuten der Stunde (0-59) bezeichnet die vergangenen Minuten seit dem Beginn der Stunde
» Sekunde Sekunde der Minute (0-59) bezeichnet die vergangenen Sekunden seit dem Beginn der Minute
» Millisekunde Millisekunden bezeichnen Tausendstel einer Sekunde (0-999). Zend_Date unterstützt zwei zusätzliche Methoden für das Arbeiten mit Zeiteinheiten, die kleiner als Sekunden sind. Normalerweise verwenden Zend_Date Instanzen eine Genauigkeit, welche der von Millisekunden entspricht wie man durch getFractionalPrecision() sehen kann. Um die Genauigkeit zu ändern, kann setFractionalPrecision($precision) verwendet werden. Trotzdem ist die Genauigkeit praktisch auf Millisekunden begrenzt, da Zend_Date » microtime() dafür benutzt.
» Tag Zend_Date::DAY_SHORT wird von $date extrahiert, wenn der Operand $date eine Zend_Date-Instanz oder eine numerische Zeichenkette ist. Sonst wird versucht, den Tag gemäß den dokumentierten Konventionen für diese Konstanten zu extrahieren: Zend_Date::WEEKDAY_NARROW, Zend_Date::WEEKDAY_NAME, Zend_Date::WEEKDAY_SHORT, Zend_Date::WEEKDAY (Gregorianischer Kalender angenommen)
» Woche Zend_Date::WEEK wird von $date extrahiert, wenn der Operand $date eine Instanz von Zend_Date oder eine numerische Zeichenkette ist. Sonst wird eine Ausnahme geworfen. (Gregorianischer Kalender angenommen)
Datum Zend_Date::DAY_MEDIUM wird aus $date extrahiert wenn der Operand $date eine Instanz von Zend_Date ist. Sonst wird versucht, den $date-String des Datums in ein Zend_Date::DATE_MEDIUM-formatiertes Datum zu normalisieren. Das Format von Zend_Date::DATE_MEDIUM hängt vom Gebietsschema des Objekts ab.
Wochentage Wochentage werden numerisch dargestellt von 0 (für Sonntag) bis 6 (für Samstag). Zend_Date::WEEKDAY_DIGIT wird aus $date extrahiert wenn der Operand $date eine Instanz von Zend_Date oder eine numerische Zeichenkette ist. Sonst wird versucht, den Tag gemäß den dokumentierten Konventionen für diese Konstanten zu extrahieren: Zend_Date::WEEKDAY_NARROW, Zend_Date::WEEKDAY_NAME, Zend_Date::WEEKDAY_SHORT, Zend_Date::WEEKDAY (Gregorianischer Kalender angenommen)
Tag des Jahres In Zend_Date wird der Tag des Jahres als Anzahl der Kalendertage dargestellt, die seit dem Start des Jahres vergangen sind (0-365). Wie bei den anderen oben dargestellten Einheiten, werden Bruchteile auf die nächste ganze Zahl abgerundet. (Gregorianischer Kalender angenommen)
» Arpa Arpa-Daten (bzw. RFC 822 formatierte Daten) werden unterstützt. Die Ausgabe verwendet entweder "GMT" oder "Laut Gebietsschema unterschiedliche Stunden + Minuten" Format (siehe Sektion 5 von RFC 822). Vor PHP 5.2.2, zeigte die Verwendung der DATE_RFC822 Konstante mit PHP date-Funktionen hier und da » fehlerhafte Ergebnisse. Die Ergebnisse von Zend_Date sind korrekt. Beispiel: Mon, 31 Dec 06 23:59:59 GMT
» Iso Für die Ausgabe werden nur vollständige ISO 8601 Daten unterstützt. Beispiel: 2009-02-14T00:31:30+01:00

Liste der Datums-Operationen

Die unten aufgeführten Basisoperationen können statt den Komfortoperationen für spezielle Datumsabschnitte verwendet werden, wenn die entsprechenden Konstanten für den Parameter $part verwendet werden.

Basisoperationen
Basisoperationen Erklärung
get()

get($part = null, $locale = null)

get($part) kann benutzt werden, um einen Datumsabschnitt $part dieses Datumsobjekts, welcher in ein Gebietsschema von $locale lokalisiert oder als formatierte Zeichenkette oder Integer gewünscht ist zurück zu bekommen. Durch Verwendung der BCMath Erweiterung können numerische Zeichenketten statt Integer für große Werte zurückgegeben werden.

Hinweis: Verhalten von get()

Anders als get() geben die anderen get*()-Komfortmethoden nur Instanzen von Zend_Date zurück, welche nur das Datum oder die Zeit repräsentieren, das ausgewählt oder berechnet wurde.

set()

set($date, $part = null, $locale = null)

Setzt den Abschnitt $part des aktuellen Objekts übereinstimmend mit dem Wert, der für diesen Abschnitt in der Eingabe $date und im Gebietsschema $locale gefunden wurde.

add()

add($date, $part = null, $locale = null)

Addiert den Abschnitt $part von $date, welcher im Gebietsschema $locale geschrieben ist, zum Datum des aktuellen Objekts.

sub()

sub($date, $part = null, $locale = null)

Subtrahiert den Abschnitt $part von $date, welcher im Gebietsschema $locale geschrieben ist, vom Datum des aktuellen Objekts.

copyPart()

copyPart($part, $locale = null)

Gibt ein geklontes Objekt zurück, wobei nur der gewünschte Abschnitt $part des Datumsobjekts kopiert wird und im Klon das Gebietsschema von $locale gesetzt wird (wenn angegeben).

compare()

compare($date, $part = null, $locale = null)

Vergleicht den Abschnitt $part des Datums $date mit dem Zeitstempel des Objekts. Gibt 0 zurück, wenn sie gleich sind, 1 wenn der Abschnitt dieses Objekts früher war als der Abschnitt von $date und andernfalls -1.

Vergleichen von Daten

Die folgenden Basisoperationen haben keine vergleichbaren vereinfachten Methoden für Datumsabschnitt wie beschrieben unter Zend_Date API Overview.

Methoden zum Vergleichen von Daten
Methoden Beschreibung
equals()

equals($date, $part = null, $locale = null)

Gibt TRUE zurück, wenn der Abschnitt $part von $date der das Gebietsschema $locale hat, der gleiche ist wie der Abschnitt $part vom Datum des Objekts, andernfalls FALSE

isEarlier()

isEarlier($date, $part = null, $locale = null)

Gibt TRUE zurück, wenn der Abschnitt $part vom Datum des Objekts früher ist als der Abschnitt $part von $date der das Gebietsschema $locale hat

isLater()

isLater($date, $part = null, $locale = null)

Gibt TRUE zurück, wenn der Abschnitt $part vom Datum des Objekts später ist als der Abschnitt $part von $date der das Gebietsschema $locale hat

isToday()

isToday()

Testet ob Jahr, Monat und Tag des heutigen Datums mit dem Datumswert des Objekts übereinstimmen, wenn die Zeitzone des Objekts verwendet wird.

isTomorrow()

isTomorrow()

Testet ob Jahr, Monat und Tag des morgigen Datums mit dem Datumswert des Objekts übereinstimmen, wenn die Zeitzone des Objekts verwendet wird.

isYesterday()

isYesterday()

Testet ob Jahr, Monat und Tag des gestrigen Datums mit dem Datumswert des Objekts übereinstimmen, wenn die Zeitzone des Objekts verwendet wird.

isLeapYear()

isLeapYear()

isLeapYear() kann benutzt werden, um zu prüfen, ob das aktuelle Objekt ein Schaltjahr ist. Sonst kann Zend_Date::checkLeapYear($year) benutzt werden, um das Jahr $year zu prüfen, welches eine Zeichenkette, ein Integer oder eine Instanz von Zend_Date sein kann. Ist das Jahr ein Schaltjahr?

isDate()

isDate($date, $format = null, $locale = null)

Diese Methode prüft, ob ein angegebenes Datum ein echtes Datum ist, und gibt TRUE zurück, wenn alle Prüfungen in Ordnung waren. Sie arbeitet wie die PHP-Funktion checkdate(), kann aber auch lokalisierte Monatsnamen prüfen sowie Daten, die den Bereich von checkdate() übersteigen

Daten und Teile von Daten abfragen

Mehrere Methoden erlauben es, Werte abzurufen, die sich auf eine Zend_Date-Instanz beziehen.

Ausgabemethoden von Daten
Methode Erklärung
toString()

toString($format = null, $locale = null)

Direkt aufzurufen oder über die magische Methode __toString(). Die Methode toString() formatiert automatisch den Wert des Datumsobjekts anhand der Konventionen des Gebietsschemas des Objekts oder einem optional definierten Gebietsschema $locale. Für eine Liste von unterstützten Formatcodes kann hier nachgeschaut werden: selbst definierte AUSGABE Formate mit ISO.

toArray()

toArray()

Gibt eine Array-Representation des ausgewählten Datums anhand der Konventionen des Gebietsschemas zurück. Das zurückgegebene Array ist identisch zur PHP-Funktion » getdate() und beinhaltet:

  • Tag als Zahl mit 'day' (Zend_Date::DAY_SHORT)

  • Monat als Zahl mit 'month' (Zend_Date::MONTH_SHORT)

  • Jahr als 'year' (Zend_Date::YEAR)

  • Stunde als 'hour' (Zend_Date::HOUR_SHORT)

  • Minute als 'minute' (Zend_Date::MINUTE_SHORT)

  • Sekunde als 'second' (Zend_Date::SECOND_SHORT)

  • Abgekürzte Zeitzone als 'timezone' (Zend_Date::TIMEZONE)

  • Unix-Zeitstempel als 'timestamp' (Zend_Date::TIMESTAMP)

  • Wochentag als Zahl mit 'weekday' (Zend_Date::WEEKDAY_DIGIT)

  • Tag des Jahres als 'dayofyear' (Zend_Date::DAY_OF_YEAR)

  • Woche als 'week' (Zend_Date::WEEK)

  • Abstand der Zeitzone zu GMT als 'gmtsecs' (Zend_Date::GMT_SECS)

toValue()

toValue($part = null)

Gibt eine Integer-Repräsentation des ausgewählten Datumsabschnittes $part anhand der Konventionen des Gebietsschemas des Objekts zurück. Gibt FALSE zurück wenn der Abschnitt $part ein nicht numerischer Wert ist, wie Zend_Date::MONTH_NAME_SHORT.

Hinweis: Grenzen von toValue()

Diese Methode ruft get() auf und castet das Ergebnis in einen PHP Integer-Wert, welcher unerwartete Ergebnisse liefern wird, wenn get() eine numerische Zeichenkette zurückgibt, die eine Zahl enthält, welche zu groß für einen PHP Integer-Wert auf Ihrem System ist. Stattdessen sollte get() benutzt werden.

get()

get($part = null, $locale = null)

Diese Methode gibt den Abschnitt $part vom Datum des Objekts, welches mit dem Gebietsschema $locale lokalisiert wurde, als formatierten String oder Integer zurück. Für weitere Informationen hier weiterlesen: get().

now()

now($locale = null)

Diese Komfortfunktion ist identisch mit new Zend_Date(). Sie gibt das aktuelle Datum als Zend_Date Objekt zurück, welches das Gebietsschema $locale hat.

Arbeiten mit Sekundenbruchteilen

Viele Methoden unterstützen es, Werte relativ zu einer Zend_Date Instanz zu erhalten.

Methoden zur Datumsausgabe
Methode Erklärung

getFractionalPrecision()

Gibt die Genauigkeit des Sekundenbruchteils zurück

setFractionalPrecision()

Setzt die Genauigkeit des Sekundenbruchteils

Sonnenaufgang / Sonnenuntergang

Drei Methoden geben Zugriff auf geographisch lokalisierte Informationen über die Sonne, was die Zeit für Sonnenaufgang und Sonnenuntergang beinhaltet.

Gewöhnliche Methoden
Methode Erklärung

getSunrise($location)

Gibt die Zeit des Sonnenaufgangs dieses Datums zurück

getSunset($location)

Gibt die Zeit des Sonnenuntergangs dieses Datums zurück

getSunInfo($location)

Gibt ein Array mit den Sonnendaten des Datums zurück
Previous Next
Einführung zum Zend Framework
Übersicht
Installation
Einstieg ins Zend Framework
Schnellstart in den Zend Framework
Zend Framework & MVC Einführung
Das Projekt erstellen
Ein Layout erstellen
Ein Modell und eine Datenbank Tabelle erstellen
Erstellen eines Formulars
Gratulation!
Autoloading im Zend Framework
Einführung
Ziele und Design
Grundsätzliche Verwendung von Autoloadern
Automatisches Laden von Ressourcen
Zusammenfassung
Plugins im Zend Framework
Einführung
Verwenden von Plugins
Fazit
Einstieg in Zend_Layout
Einführung
Zend_Layout verwenden
Zend_Layout: Fazit
Einstieg in Zend_View Platzhalter
Einführung
Grundsätzliche Verwendung von Platzhaltern
Standard Platzhalter
View Platzhalter: Fazit
Zend_Form's Gestalter (Decorator) verstehen und verwenden
Einführung
Decorator Grundlagen
Layeraufbau von Decorators
Darstellung individueller Decorators
Erstellung und Darstellung von kombinierten Elementen
Fazit
Einstieg in Zend_Session, Zend_Auth, und Zend_Acl
Erstellung von Multi-User Anwendungen mit Zend Framework
User Session im Zend Framework managen
Benutzer im Zend Framework authentifizieren
Erstellung eines Authorisations Systems in Zend Framework
Einstieg in Zend_Search_Lucene
Einführung in Zend_Search_Lucene
Lucene Index Struktur
Indezes öffnen und erstellen
Indizierung
Suchen
Unterstützte Abfragen
Seitendarstellung von Suchergebnissen
Einstieg in Zend_Paginator
Einführung
Einfaches Beispiel
Seitenkontrolle und ScrollingStyles
Alles zusammenfügen
Zend Framework's Referenz
Zend_Acl
Einführung
Verfeinern der Zugriffskontrolle
Fortgeschrittene Verwendung
Zend_Amf
Einführung
Zend_Amf_Server
Zend_Application
Einführung
Zend_Application Quick Start
Theorie der Funktionsweise
Beispiele
Kern Funktionalität
Vorhandene Ressource Plugins
Zend_Auth
Einführung
Datenbanktabellen Authentifizierung
Digest Authentication
HTTP Authentication Adapter
LDAP Authentifizierung
Open ID Authentifikation
Zend_Barcode
Einführung
Barcodes mit Hilfe der Zend_Barcode Klasse erstellen
Zend_Barcode Objekte
Zend_Barcode Renderer
Zend_Cache
Einführung
Die Theorie des Cachens
Zend_Cache Frontends
Zend_Cache Backends
Der Cache Manager
Zend_Captcha
Einführung
Captcha Anwendung
CAPTCHA Adapter
SimpleCloud API: Zend_Cloud
Document Service Introduction
Queue Service Introduction
StorageService Introduction
Zend_CodeGenerator
Einführung
Zend_CodeGenerator Beispiele
Zend_CodeGenerator Referenz
Zend_Config
Einleitung
Theory of Operation
Zend_Config_Ini
Zend_Config_Json
Zend_Config_Xml
Zend_Config_Yaml
Zend_Config_Writer
Zend_Config_Writer
Zend_Console_Getopt
Einführung
Definieren von Getopt Regeln
Holen von Optionen und Argumenten
Konfigurieren von Zend_Console_Getopt
Zend_Controller
Zend_Controller Schnellstart
Zend_Controller Grundlagen
Der Front Controller
Das Request Objekt
Der Standard Router
Der Dispatcher
Action Controller
Action Helfer
Das Response Objekt
Plugins
Eine konventionelle modulare Verzeichnis Struktur verwenden
MVC Ausnahmen
Zend_Currency
Einführung in Zend_Currency
Zend_Currency verwenden
Optionen für Währungen
Was macht eine Währung aus?
Wo ist die Währung?
Wie sieht die Währung aus?
Wie viel Währung habe ich?
Rechnen mit Währungen
Währungen wechseln
Zusätzliche Informationen für Zend_Currency
Zend_Date
Einführung
Theorie der Arbeitsweise
Basis Methoden
Zend_Date API Übersicht
Erstellen von Datumswerten
Konstanten für generelle Datums Funktionen
Funktionierende Beispiele
Zend_Db
Zend_Db_Adapter
Zend_Db_Statement
Zend_Db_Profiler
Zend_Db_Select
Zend_Db_Table
Zend_Db_Table_Row
Zend_Db_Table_Rowset
Zend_Db_Table Relationships
Zend_Db_Table_Definition
Zend_Debug
Variablen ausgeben
Zend_Dojo
Einführung
Zend_Dojo_Data: dojo.data Envelopes
Dojo View Helfer
Formular Elemente und Dekoratore für Dojo
Support für den Build Layer von Zend_Dojo
Zend_Dom
Einführung
Zend_Dom_Query
Zend_Exception
Verwenden von Ausnahmen
Grundsätzliche Verwendung
Vorherige Exceptions
Zend_Feed
Einführung
Feeds importieren
Feeds von Websites abrufen
Einen RSS Feed konsumieren
Einen Atom Feed konsumieren
Einen einzelnen Atom Eintrag konsumieren
Verändern der Feed- und Eintragsstruktur
Eigene Klassen für Feeds und Einträge
Zend_Feed_Reader
Zend_Feed_Writer
Zend_Feed_Pubsubhubbub
Zend_File
Zend_File_Transfer
Prüfungen für Zend_File_Transfer
Filter für Zend_File_Transfer
Zend_Filter
Einführung
Standard Filter Klassen
Filter Ketten
Filter schreiben
Zend_Filter_Input
Zend_Filter_Inflector
Zend_Form
Zend_Form
Schnellstart mit Zend_Form
Erstellen von Form Elementen mit Hilfe von Zend_Form_Element
Erstellen von Form durch Verwendung von Zend_Form
Erstellen von eigenem Form Markup durch Zend_Form_Decorator
Standard Form Elemente die mit dem Zend Framework ausgeliefert werden
Standard Formular Dekoratoren die mit dem Zend Framework ausgeliefert werden
Internationalisierung von Zend_Form
Fortgeschrittene Verwendung von Zend_Form
Zend_Gdata
Einführung
Authentifizierung mit AuthSub
Die Buchsuche Daten API verwenden
Authentifizieren mit ClientLogin
Google Kalender verwenden
Verwenden der Google Dokumente Listen Daten API
Verwenden von Google Health
Google Tabellenkalkulation verwenden
Google Apps Provisionierung verwenden
Google Base verwenden
Picasa Web Alben verwenden
Verwenden der YouTube Daten API
Gdata Ausnahmen auffangen
Zend_Http
Einführung
Zend_Http_Client - Fortgeschrittende Nutzung
Zend_Http_Client - Verbindungsadapter
Zend_Http_Cookie und Zend_Http_CookieJar
Zend_Http_Response
Zend_Http_UserAgent
The UserAgent Device Interface
The UserAgent Features Adapter
The WURFL UserAgent Features Adapter
The DeviceAtlas UserAgent Features Adapter
The TeraWurfl UserAgent Features Adapter
The UserAgent Storage Interface
The Session UserAgent Storage Adapter
Zend_InfoCard
Einführung
Zend_Json
Einführung
Grundlegende Verwendung
Fortgeschrittene Verwendung von Zend_Json
XML zu JSON Konvertierung
Zend_Json_Server - JSON-RPC Server
Zend_Layout
Einführung
Zend_Layout Schnellstart
Zend_Layout Konfigurations Optionen
Erweiterte Verwendung von Zend_Layout
Zend_Ldap
Einführung
API Übersicht
Szenarien der Verwendung
Tools
Objektorientierter Zugriff auf den LDAP Baum durch Verwendung von Zend_Ldap_Node
Informationen vom LDAP Server erhalten
Serialisieren von LDAP Daten von und zu LDIF
Zend_Loader
Dynamisches Laden von Dateien und Klassen
Der Autoloader
Ressource Autoloader
Plugins laden
Zend_Locale
Einführung
Zend_Locale verwenden
Normalisierung und Lokalisierung
Arbeiten mit Daten und Zeiten
Unterstützte Gebietsschemata
Zend_Log
Übersicht
Writer
Formatter
Filter
Die Factory verwenden um ein Log zu erstellen
Zend_Mail
Einführung
Versand über SMTP
Versand von mehreren E-Mails über eine SMTP Verbindung
Verwendung von unterschiedlichen Versandwegen
HTML E-Mail
Anhänge
Empfänger hinzufügen
Die MIME Abgrenzung kontrollieren
Zusätzliche Kopfzeilen
Zeichensätze
Kodierung
SMTP Authentifizierung
SMTP Übertragungen sichern
Lesen von Mail Nachrichten
Zend_Markup
Einführung
Beginnen mit Zend_Markup
Zend_Markup Parser
Zend_Markup Renderer
Zend_Measure
Einführung
Erstellung einer Maßeinheit
Ausgabe von Maßeinheiten
Manipulation von Maßeinheiten
Arten von Maßeinheiten
Zend_Memory
Übersicht
Memory Manager
Memory Objekte
Zend_Mime
Zend_Mime
Zend_Mime_Message
Zend_Mime_Part
Zend_Navigation
Einführung
Seiten
Container
Zend_Oauth
Einführung zu OAuth
Zend_OpenId
Einführung
Zend_OpenId_Consumer Grundlagen
Zend_OpenId_Provider
Zend_Paginator
Einführung
Verwendung
Konfiguration
Advanced usage
Zend_Pdf
Einführung
Erstellen und Laden von PDF Dokumenten
Änderungen an PDF Dokumenten speichern
Arbeiten mit Seiten
Zeichnen
Interaktive Features
Dokument Informationen und Metadaten
Anwendungsbeispiel für die Zend_Pdf Komponente
Zend_ProgressBar
Zend_ProgressBar
Zend_Queue
Einführung
Beispiel der Verwendung
Framework
Adapter
Anpassen von Zend_Queue
Stomp
Zend_Reflection
Einführung
Zend_Reflection Beispiele
Zend_Reflection Referenz
Zend_Registry
Die Registry verwenden
Zend_Rest
Einführung
Zend_Rest_Client
Zend_Rest_Server
Zend_Search_Lucene
Überblick
Indexerstellung
Einen Index durchsuchen
Abfragesprache
Abfrage Erzeugungs API
Zeichensätze
Erweiterbarkeit
Zusammenarbeit Mit Java Lucene
Erweitert
Die besten Anwendungen
Zend_Serializer
Einführung
Zend_Serializer_Adapter
Zend_Server
Einführung
Zend_Server_Reflection
Zend_Service
Einführung
Zend_Service_Akismet
Zend_Service_Amazon
Zend_Service_Amazon_Ec2
Zend_Service_Amazon_Ec2: Instanzen
Zend_Service_Amazon_Ec2: Windows Instanzen
Zend_Service_Amazon_Ec2: Reservierte Instanzen
Zend_Service_Amazon_Ec2: CloudWatch Monitoring
Zend_Service_Amazon_Ec2: Amazon Maschinen Images (AMI)
Zend_Service_Amazon_Ec2: Elastischer Block Speicher (EBS)
Zend_Service_Amazon_Ec2: Elastische IP Adressen
Zend_Service_Amazon_Ec2: Schlüsselpaare
Zend_Service_Amazon_Ec2: Regionen und Availability Zones
Zend_Service_Amazon_Ec2: Sicherheitsgruppen
Zend_Service_Amazon_S3
Zend_Service_Amazon_Sqs
Zend_Service_Audioscrobbler
Zend_Service_Delicious
Zend_Service_DeveloperGarden
Zend_Service_Ebay
Zend_Service_Ebay_Finding
Zend_Service_Flickr
Zend_Service_LiveDocx
Zend_Service_Nirvanix
Zend_Service_ReCaptcha
Zend_Service_ShortUrl
Zend_Service_Simpy
Zend_Service_SlideShare
Zend_Service_StrikeIron
Zend_Service_StrikeIron: Mitgelieferte Services
Zend_Service_StrikeIron: Erweiterte Verwendung
Zend_Service_Technorati
Zend_Service_Twitter
Zend_Service_WindowsAzure
Zend_Service_WindowsAzure_Storage_Blob
Zend_Service_WindowsAzure_Diagnostics_Manager
Zend_Service_WindowsAzure_Storage_Queue
Zend_Service_WindowsAzure_Storage_Table
Zend_Service_Yahoo
Zend_Session
Einführung
Grundsätzliche Verwendung
Fortgeschrittene Benutzung
Globales Session Management
Zend_Session_SaveHandler_DbTable
Zend_Soap
Zend_Soap_Server
Zend_Soap_Client
WSDL Zugriffsmethoden
AutoDiscovery
Zend_Tag
Einführung
Zend_Tag_Cloud
Zend_Test
Einführung
Zend_Test_PHPUnit
Zend_Test_PHPUnit_Db
Zend_Text
Zend_Text_Figlet
Zend_Text_Table
Zend_TimeSync
Einführung
Arbeiten mit Zend_TimeSync
Zend_Tool
Verwendung von Zend_Tool auf der Kommandozeile
Zend_Tool erweitern
Zend_Tool_Framework
Einführung
Verwenden des CLI Tools
Architektur
Erstellen von Providern für die Verwendung mit Zend_Tool_Framework
Mitgelieferte System Provider
Extending and Configuring Zend_Tool_Framework
Zend_Tool_Project
Einführung
Ein Projekt erstellen
Project Provider für Zend_Tool
Zend_Tool_Project Internas
Zend_Translate
Einführung
Adapter für Zend_Translate
Verwendung der Übersetzungsadapter
Erstellen von Quelldateien
Zusätzliche Features für Übersetzungen
Schreibweisen von Pluralformen für Übersetzungen
Zend_Uri
Zend_Uri
Zend_Validate
Einführung
Standard Prüfklassen
Kettenprüfungen
Schreiben von Prüfern
Prüfungsmeldungen
Zend_Version
Die Version des Zend Frameworks erhalten
Zend_View
Einführung
Controller Skripte
View Scripte
View Helfer
Zend_View_Abstract
Zend_Wildfire
Zend_Wildfire
Zend_XmlRpc
Einführung
Zend_XmlRpc_Client
Zend_XmlRpc_Server
ZendX_Console_Process_Unix
ZendX_Console_Process_Unix
ZendX_JQuery
Introduction
ZendX_JQuery View Helpers
ZendX_JQuery Form Elements and Decorators
Zend Framework Voraussetzungen
Einführung
Zend Framework's Migrationshinweise
Zend Framework 1.10
Zend Framework 1.9
Zend Framework 1.8
Zend Framework 1.7
Zend Framework 1.6
Zend Framework 1.5
Zend Framework 1.0
Zend Framework 0.9
Zend Framework 0.8
Zend Framework 0.6
Zend Framework Coding Standard für PHP
Übersicht
PHP Dateiformatierung
Namens Konventionen
Code Stil
Zend Framework Dokumentations Standard
Übersicht
Formatierung von Dokumentationsdateien
Empfehlungen
Vorgeschlagene Struktur für die Projekt Struktur von Zend Framework MVC Anwendungen
Übersicht
Vorgeschlagene Verzeichnis Struktur für Projekte
Modul Struktur
Leitfaden für die Rewrite Konfiguration
Zend Framework's Performanceratgeber
Einführung
Laden von Klassen
Zend_Db Performance
Internationalisierung (I18n) und Lokalisierung (L10n)
Darstellen der View
Urheberrecht Informationen