The following sections show basic usage of Zend_Date primarily by example. For this manual, "dates" always imply a calendar date with a time, even when not explicitly mentioned, and vice-versa. The part not specified defaults to an internal representation of "zero". Thus, adding a date having no calendar date and a time value of 12 hours to another date consisting only of a calendar date would result in a date having that calendar date and a time of "noon".
Setting only a specific date, with no time part, implies a time set to 00:00:00. Conversely, setting only a specific time implies a date internally set to 01.01.1970 plus the number of seconds equal to the elapsed hours, minutes, and seconds identified by the time. Normally, people measure things from a starting point, such as the year 0 A.D. However, many software systems use the first second of the year 1970 as the starting point, and denote times as a timestamp offset counting the number of seconds elapsed from this starting point.
Without any arguments, constructing an instance returns an object in the default locale with the current, local date using PHP's time() function to obtain the » UNIX timestamp for the object. Make sure your PHP environment has the correct default timezone.
Example #1 Creating the Current Date
Zend_Date by Example
Reviewing basic methods of Zend_Date is a good place to start for those unfamiliar with date objects in other languages or frameworks. A small example will be provided for each method below.
Output a Date
The date in a Zend_Date object may be obtained as a localized integer or string using the get() method. There are many available options, which will be explained in later sections.
Example #2 get() - Output a Date
Setting a Date
The set() method alters the date stored in the object, and returns the final date value as a timestamp (not an object). Again, there are many options which will be explored in later sections.
Example #3 set() - Set a Date
Adding and Subtracting Dates
Adding two dates with add() usually involves adding a real date in time with an artificial timestramp representing a date part, such as 12 hours, as shown in the example below. Both add() and sub() use the same set of options as set(), which will be explained later.
Example #4 add() - Adding Dates
Comparison of Dates
All basic Zend_Date methods can operate on entire dates contained in the objects, or can operate on date parts, such as comparing the minutes value in a date to an absolute value. For example, the current minutes in the current time may be compared with a specific number of minutes using compare(), as in the example below.
Example #5 compare() - Compare Dates
For simple equality comparisons, use equals(), which returns a boolean.