Date/DateObject.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Date
- Version
- $Id$
Package: Zend_Date\Zend_Date_DateObject- Children
- \Zend_Date
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Properties
$_cache = null
static
Default valuenull
Details- Type
- n/a
$_cacheTags = false
static
Default valuefalse
Details- Type
- n/a
$_defaultOffset = 0
static
Default value0
Details- Type
- n/a
$_dst = true
Default valuetrue
Details- Type
- n/a
$_monthTable = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
Default valuearray(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
Details- Type
- n/a
$_offset = 0
Default value0
Details- Type
- n/a
$_syncronised = 0
Default value0
Details- Type
- n/a
$_yearTable = array(1970 => 0, 1960 => -315619200, 1950 => -631152000, 1940 => -946771200, 1930 => -1262304000, 1920 => -1577923200, 1910 => -1893456000, 1900 => -2208988800, 1890 => -2524521600, 1880 => -2840140800, 1870 => -3155673600, 1860 => -3471292800, 1850 => -3786825600, 1840 => -4102444800, 1830 => -4417977600, 1820 => -4733596800, 1810 => -5049129600, 1800 => -5364662400, 1790 => -5680195200, 1780 => -5995814400, 1770 => -6311347200, 1760 => -6626966400, 1750 => -6942499200, 1740 => -7258118400, 1730 => -7573651200, 1720 => -7889270400, 1710 => -8204803200, 1700 => -8520336000, 1690 => -8835868800, 1680 => -9151488000, 1670 => -9467020800, 1660 => -9782640000, 1650 => -10098172800, 1640 => -10413792000, 1630 => -10729324800, 1620 => -11044944000, 1610 => -11360476800, 1600 => -11676096000)
Default valuearray(1970 => 0, 1960 => -315619200, 1950 => -631152000, 1940 => -946771200, 1930 => -1262304000, 1920 => -1577923200, 1910 => -1893456000, 1900 => -2208988800, 1890 => -2524521600, 1880 => -2840140800, 1870 => -3155673600, 1860 => -3471292800, 1850 => -3786825600, 1840 => -4102444800, 1830 => -4417977600, 1820 => -4733596800, 1810 => -5049129600, 1800 => -5364662400, 1790 => -5680195200, 1780 => -5995814400, 1770 => -6311347200, 1760 => -6626966400, 1750 => -6942499200, 1740 => -7258118400, 1730 => -7573651200, 1720 => -7889270400, 1710 => -8204803200, 1700 => -8520336000, 1690 => -8835868800, 1680 => -9151488000, 1670 => -9467020800, 1660 => -9782640000, 1650 => -10098172800, 1640 => -10413792000, 1630 => -10729324800, 1620 => -11044944000, 1610 => -11360476800, 1600 => -11676096000)
Details- Type
- n/a
Methods
_getTime(integer $sync = null) : integer
Returns time(). This method exists to allow unit tests to work-around methods that might otherwise
be hard-coded to use time(). For example, this makes it possible to test isYesterday() in Date.php.
ParametersName | Type | Description |
---|
$sync | integer | OPTIONAL time syncronisation value |
---|
ReturnsType | Description |
---|
integer | timestamp |
_range(float $a, float $b) : void
Internal _range function
Sets the value $a to be in the range of [0, $b]
ParametersName | Type | Description |
---|
$a | float | |
---|
$b | float | |
---|
calcSun(array $location, bool $horizon, $rise = false) : mixed
Calculates the sunrise or sunset based on a location
ParametersName | Type | Description |
---|
$location | array | Location for calculation MUST include 'latitude', 'longitude', 'horizon' |
---|
$horizon | bool | true: sunrise; false: sunset |
---|
$rise | | |
---|
ReturnsType | Description |
---|
mixed | - false: midnight sun, integer: |
date(string $format, mixed $timestamp = null, boolean $gmt = false) : string
Internal mktime function used by Zend_Date for handling 64bit timestamps.
Returns a formatted date for a given timestamp.
ParametersName | Type | Description |
---|
$format | string | format for output |
---|
$timestamp | mixed | |
---|
$gmt | boolean | OPTIONAL true = other arguments are for UTC time, false = arguments are for local time/date |
---|
ReturnsdayOfWeek(integer $year, integer $month, integer $day) : integer
staticReturns the day of week for a Gregorian calendar date.
0 = sunday, 6 = saturday
ParametersName | Type | Description |
---|
$year | integer | |
---|
$month | integer | |
---|
$day | integer | |
---|
ReturnsType | Description |
---|
integer | dayOfWeek |
getDateParts(mixed $timestamp = null, boolean $fast = null) : array
Internal getDateParts function for handling 64bit timestamps, similar to:
http://www.php.net/getdate
Returns an array of date parts for $timestamp, relative to 1970/01/01 00:00:00 GMT/UTC.
$fast specifies ALL date parts should be returned (slower)
Default is false, and excludes $dayofweek, weekday, month and timestamp from parts returned.
ParametersName | Type | Description |
---|
$timestamp | mixed | |
---|
$fast | boolean | OPTIONAL defaults to fast (false), resulting in fewer date parts |
---|
ReturnsgetGmtOffset() : integer
Return the offset to GMT of $this object's timezone.
The offset to GMT is initially set when the object is instantiated using the currently,
in effect, default timezone for PHP functions.
ReturnsType | Description |
---|
integer | seconds difference between GMT timezone and timezone when object was instantiated |
getTimezone() : string
Return the timezone of $this object.
The timezone is initially set when the object is instantiated.
ReturnsType | Description |
---|
string | actual set timezone string |
getUnixTimestamp() : integer | string
Returns this object's UNIX timestamp
A timestamp greater then the integer range will be returned as string
This function does not return the timestamp as object. Use copy() instead.
ReturnsType | Description |
---|
integer | string | timestamp |
isYearLeapYear(integer $year) : boolean
staticReturns true, if given $year is a leap year.
ParametersName | Type | Description |
---|
$year | integer | |
---|
ReturnsType | Description |
---|
boolean | true, if year is leap year |
mktime(integer $hour, integer $minute, integer $second, integer $month, integer $day, integer $year, boolean $gmt = false) : integer | float
Internal mktime function used by Zend_Date.
The timestamp returned by mktime() can exceed the precision of traditional UNIX timestamps,
by allowing PHP to auto-convert to using a float value.
Returns a timestamp relative to 1970/01/01 00:00:00 GMT/UTC.
DST (Summer/Winter) is depriciated since php 5.1.0.
Year has to be 4 digits otherwise it would be recognised as
year 70 AD instead of 1970 AD as expected !!
ParametersName | Type | Description |
---|
$hour | integer | |
---|
$minute | integer | |
---|
$second | integer | |
---|
$month | integer | |
---|
$day | integer | |
---|
$year | integer | |
---|
$gmt | boolean | OPTIONAL true = other arguments are for UTC time, false = arguments are for local time/date |
---|
ReturnsType | Description |
---|
integer | float | timestamp (number of seconds elapsed relative to 1970/01/01 00:00:00 GMT/UTC) |
setTimezone(string $zone = null) : \Zend_Date_DateObject
Sets a new timezone for calculation of $this object's gmt offset.
For a list of supported timezones look here: http://php.net/timezones
If no timezone can be detected or the given timezone is wrong UTC will be set.
ParametersName | Type | Description |
---|
$zone | string | OPTIONAL timezone for date calculation; defaults to date_default_timezone_get() |
---|
ReturnsThrowssetUnixTimestamp(string | integer $timestamp = null) : string | integer
Set this object to have a new UNIX timestamp.
ParametersName | Type | Description |
---|
$timestamp | string | integer | OPTIONAL timestamp; defaults to local time using time() |
---|
ReturnsType | Description |
---|
string | integer | old timestamp |
Throws weekNumber(integer $year, integer $month, integer $day) : integer
Internal getWeekNumber function for handling 64bit timestamps
Returns the ISO 8601 week number of a given date
ParametersName | Type | Description |
---|
$year | integer | |
---|
$month | integer | |
---|
$day | integer | |
---|
Returns