apidoc
[ class tree: apidoc ] [ index: apidoc ] [ all elements ]

Class: Date_Calc

Source Location: /Date-1.4.2/Date/Calc.php

Class Overview


Date_Calc is a calendar class used to calculate and


Author(s):

Version:

  • 1.2.6

Methods


Inherited Variables

Inherited Methods


Class Details

[line 33]
Date_Calc is a calendar class used to calculate and

manipulate calendar dates and retrieve dates in a calendar format. It does not rely on 32-bit system date stamps, so you can display calendars and compare dates that date pre 1970 and post 2038.

This source file is subject to version 2.02 of the PHP license, that is bundled with this package in the file LICENSE, and is available at through the world-wide-web at http://www.php.net/license/2_02.txt. If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to license@php.net so we can mail you a copy immediately.

Copyright (c) 1999, 2002, 2003 ispi



[ Top ]


Method Detail

beginOfMonth   [line 910]

string beginOfMonth( [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Return date of first day of month of given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

beginOfNextMonth   [line 324]

string beginOfNextMonth( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of begin of next month of given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

beginOfNextWeek   [line 1004]

string beginOfNextWeek( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Find the month day of the beginning of week after given date, using DATE_CALC_BEGIN_WEEKDAY. (can return weekday of prev month.)
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

beginOfPrevMonth   [line 398]

string beginOfPrevMonth( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the first day of previous month of given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

beginOfPrevWeek   [line 1046]

string beginOfPrevWeek( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Find the month day of the beginning of week before given date, using DATE_CALC_BEGIN_WEEKDAY. (can return weekday of prev month.)
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

beginOfWeek   [line 936]

string beginOfWeek( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Find the month day of the beginning of week for given date, using DATE_CALC_BEGIN_WEEKDAY. (can return weekday of prev month.)
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

compareDates   [line 792]

int compareDates( string $day1, string $month1, string $year1, string $day2, string $month2, string $year2)

Compares two dates
  • Return: 0 on equality, 1 if date 1 is greater, -1 if smaller
  • Access: public

Parameters:

string   $day1     day in format DD
string   $month1     month in format MM
string   $year1     year in format CCYY
string   $day2     day in format DD
string   $month2     month in format MM
string   $year2     year in format CCYY

[ Top ]

dateDiff   [line 766]

int dateDiff( string $day1, string $month1, string $year1, string $day2, string $month2, string $year2)

Returns number of days between two given dates.
  • Return: absolute number of days between dates, -1 if there is an error.
  • Access: public

Parameters:

string   $day1     day in format DD
string   $month1     month in format MM
string   $year1     year in format CCYY
string   $day2     day in format DD
string   $month2     month in format MM
string   $year2     year in format CCYY

[ Top ]

dateFormat   [line 1342]

string dateFormat( string $day, string $month, string $year, string $format)

Formats the date in the given format, much like strfmt(). This function is used to alleviate the problem with 32-bit numbers for dates pre 1970 or post 2038, as strfmt() has on most systems.

Most of the formatting options are compatible.

formatting options:

%a abbreviated weekday name (Sun, Mon, Tue) %A full weekday name (Sunday, Monday, Tuesday) %b abbreviated month name (Jan, Feb, Mar) %B full month name (January, February, March) %d day of month (range 00 to 31) %e day of month, single digit (range 0 to 31) %E number of days since unspecified epoch (integer) (%E is useful for passing a date in a URL as an integer value. Then simply use daysToDate() to convert back to a date.) %j day of year (range 001 to 366) %m month as decimal number (range 1 to 12) %n newline character (\n) %t tab character (\t) %w weekday as decimal (0 = Sunday) %U week number of current year, first sunday as first week %y year as decimal (range 00 to 99) %Y year as decimal including century (range 0000 to 9999) %% literal '%'

  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD
string   $month     month in format MM
string   $year     year in format CCYY
string   $format     format for returned date

[ Top ]

dateNow   [line 47]

string dateNow( [string $format = '%Y%m%d'])

Returns the current local date. NOTE: This function retrieves the local date using strftime(), which may or may not be 32-bit safe on your system.
  • Return: the current date in specified format
  • Access: public

Parameters:

string   $format     the strftime() format to return the date

[ Top ]

dateSeason   [line 1702]

float dateSeason( string $season, [string $year = ''])

Determines julian date of the given season Adapted from previous work in Java by James Mark Hamilton, mhamilton@qwest.net

Parameters:

string   $season     is VERNALEQUINOX, SUMMERSOLSTICE, AUTUMNALEQUINOX, or WINTERSOLSTICE.
string   $year     year in format CCYY, must be a calendar year between -1000BC and 3000AD.

[ Top ]

dateToDays   [line 1204]

integer dateToDays( string $day, string $month, string $year)

Converts a date to number of days since a distant unspecified epoch.
  • Return: number of days
  • Access: public

Parameters:

string   $day     day in format DD
string   $month     month in format MM
string   $year     year in format CCYY

[ Top ]

dayOfWeek   [line 188]

int dayOfWeek( [string $day = ''], [string $month = ''], [string $year = ''])

Returns day of week for given date, 0=Sunday
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

daysInMonth   [line 813]

int daysInMonth( [string $month = ''], [string $year = ''])

Find the number of days in the given month.
  • Return: number of days
  • Access: public

Parameters:

string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

daysToDate   [line 1239]

string daysToDate( int $days, [string $format = '%Y%m%d'])

Converts number of days to a distant unspecified epoch.
  • Return: date in specified format
  • Access: public

Parameters:

int   $days     number of days
string   $format     format for returned date

[ Top ]

defaultCentury   [line 738]

string defaultCentury( string $year)

Sets century for 2 digit year.

51-99 is 19, else 20

  • Return: 4 digit year
  • Access: public

Parameters:

string   $year     2 digit year

[ Top ]

endOfNextMonth   [line 361]

string endOfNextMonth( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the last day of next month of given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

endOfPrevMonth   [line 435]

string endOfPrevMonth( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the last day of previous month for given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

endOfWeek   [line 970]

string endOfWeek( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Find the month day of the end of week for given date, using DATE_CALC_BEGIN_WEEKDAY. (can return weekday of following month.)
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

firstOfMonthWeekday   [line 886]

int firstOfMonthWeekday( [string $month = ''], [string $year = ''])

Find the day of the week for the first of the month of given date.
  • Return: number of weekday for the first day, 0=Sunday
  • Access: public

Parameters:

string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

getCalendarMonth   [line 1124]

array getCalendarMonth( [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Return a set of arrays to construct a calendar month for the given date.
  • Access: public

Parameters:

string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

getCalendarWeek   [line 1085]

array getCalendarWeek( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Return an array with days in week
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

getCalendarYear   [line 1175]

array getCalendarYear( [string $year = ''], [string $format = '%Y%m%d'])

Return a set of arrays to construct a calendar year for the given date.
  • Access: public

Parameters:

string   $year     year in format CCYY, default current local year
string   $format     format for returned date

[ Top ]

getDay   [line 1450]

string getDay( )

Returns the current local day in format DD
  • Return: day in format DD
  • Access: public

[ Top ]

getMonth   [line 1437]

string getMonth( )

Returns the current local month in format MM
  • Return: month in format MM
  • Access: public

[ Top ]

getMonthAbbrname   [line 1492]

string getMonthAbbrname( string $month, [int $length = 3])

Returns the abbreviated month name for the given month
  • Return: abbreviated month name
  • See: Date_Calc::getMonthFullname
  • Access: public

Parameters:

string   $month     month in format MM
int   $length     optional length of abbreviation, default is 3

[ Top ]

getMonthFromFullName   [line 1571]

integer getMonthFromFullName( string $month)

Returns the numeric month from the month name or an abreviation

Both August and Aug would return 8. Month name is case insensitive.

  • Return: month number

Parameters:

string   $month     month name

[ Top ]

getMonthFullname   [line 1465]

string getMonthFullname( string $month)

Returns the full month name for the given month
  • Return: full month name
  • Access: public

Parameters:

string   $month     month in format MM

[ Top ]

getMonthNames   [line 1594]

array getMonthNames( )

Returns an array of month names

Used to take advantage of the setlocale function to return language specific month names. XXX cache values to some global array to avoid preformace hits when called more than once.

  • Return: An array of month names

[ Top ]

getWeekdayAbbrname   [line 1547]

string getWeekdayAbbrname( [string $day = ''], [string $month = ''], [string $year = ''], [int $length = 3])

Returns the abbreviated weekday name for the given date
  • Return: full month name
  • See: Date_Calc::getWeekdayFullname
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
int   $length     optional length of abbreviation, default is 3

[ Top ]

getWeekdayFullname   [line 1515]

string getWeekdayFullname( [string $day = ''], [string $month = ''], [string $year = ''])

Returns the full weekday name for the given date
  • Return: full month name
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

getWeekDays   [line 1612]

array getWeekDays( )

Returns an array of week days

Used to take advantage of the setlocale function to return language specific week days XXX cache values to some global array to avoid preformace hits when called more than once.

  • Return: An array of week day names

[ Top ]

getYear   [line 1424]

string getYear( )

Returns the current local year in format CCYY
  • Return: year in format CCYY
  • Access: public

[ Top ]

gregorianToISO   [line 1635]

string gregorianToISO( string $day, string $month, string $year)

Converts from Gregorian Year-Month-Day to ISO YearNumber-WeekNumber-WeekDay

Uses ISO 8601 definitions. Algorithm from Rick McCarty, 1999 at http://personal.ecu.edu/mccartyr/ISOwdALG.txt

  • Access: public

Parameters:

string   $day     day in format DD
string   $month     month in format MM
string   $year     year in format CCYY

[ Top ]

isFutureDate   [line 122]

boolean isFutureDate( string $day, string $month, string $year)

Determines if given date is a future date from now.
  • Return: true/false
  • Access: public

Parameters:

string   $day     day in format DD
string   $month     month in format MM
string   $year     year in format CCYY

[ Top ]

isLeapYear   [line 87]

boolean isLeapYear( [string $year = ''])

Returns true for a leap year, else false
  • Return: true/false
  • Access: public

Parameters:

string   $year     year in format CCYY

[ Top ]

isPastDate   [line 155]

boolean isPastDate( string $day, string $month, string $year)

Determines if given date is a past date from now.
  • Return: true/false
  • Access: public

Parameters:

string   $day     day in format DD
string   $month     month in format MM
string   $year     year in format CCYY

[ Top ]

isValidDate   [line 65]

boolean isValidDate( string $day, string $month, string $year)

Returns true for valid date, false for invalid date.
  • Return: true/false
  • Access: public

Parameters:

string   $day     year in format CCYY
string   $month     month in format MM
string   $year     day in format DD

[ Top ]

julianDate   [line 259]

int julianDate( [string $day = ''], [string $month = ''], [string $year = ''])

Returns number of days since 31 December of year before given date.
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

nextDay   [line 680]

string nextDay( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of day after given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

nextDayOfWeek   [line 553]

string nextDayOfWeek( int $dow, [string $day = ''], [string $month = ''], [string $year = ''], [boolean $format = '%Y%m%d'], [string $onOrAfter = false])

Returns date of the next specific day of the week from the given date.
  • Return: date in given format
  • Access: public

Parameters:

int   $dow     day of week, 0=Sunday
string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
boolean   $format     onOrAfter if true and days are same, returns current day
string   $onOrAfter     format for returned date

[ Top ]

nextDayOfWeekOnOrAfter   [line 642]

string nextDayOfWeekOnOrAfter( int $dow, [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the next specific day of the week on or after the given date.
  • Return: date in given format
  • Access: public

Parameters:

int   $dow     day of week, 0=Sunday
string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

nextWeekday   [line 473]

string nextWeekday( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the next weekday of given date, skipping from Friday to Monday.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

NWeekdayOfMonth   [line 1285]

string NWeekdayOfMonth( string $occurance, string $dayOfWeek, string $month, string $year, [string $format = '%Y%m%d'])

Calculates the date of the Nth weekday of the month, such as the second Saturday of January 2000.
  • Return: date in given format
  • Access: public

Parameters:

string   $occurance     occurance: 1=first, 2=second, 3=third, etc.
string   $dayOfWeek     dayOfWeek: 0=Sunday, 1=Monday, etc.
string   $month     month in format MM
string   $year     year in format CCYY
string   $format     format for returned date

[ Top ]

prevDay   [line 710]

string prevDay( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of day before given date.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

prevDayOfWeek   [line 598]

string prevDayOfWeek( int $dow, [string $day = ''], [string $month = ''], [string $year = ''], [boolean $format = '%Y%m%d'], [string $onOrBefore = false])

Returns date of the previous specific day of the week from the given date.
  • Return: date in given format
  • Access: public

Parameters:

int   $dow     day of week, 0=Sunday
string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
boolean   $format     onOrBefore if true and days are same, returns current day
string   $onOrBefore     format for returned date

[ Top ]

prevDayOfWeekOnOrBefore   [line 662]

string prevDayOfWeekOnOrBefore( int $dow, [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the previous specific day of the week on or before the given date.
  • Return: date in given format
  • Access: public

Parameters:

int   $dow     day of week, 0=Sunday
string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

prevWeekday   [line 512]

string prevWeekday( [string $day = ''], [string $month = ''], [string $year = ''], [string $format = '%Y%m%d'])

Returns date of the previous weekday, skipping from Monday to Friday.
  • Return: date in given format
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year
string   $format     format for returned date

[ Top ]

quarterOfYear   [line 294]

int quarterOfYear( [string $day = ''], [string $month = ''], [string $year = ''])

Returns quarter of the year for given date
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

weekOfYear   [line 230]

integer weekOfYear( [string $day = ''], [string $month = ''], [string $year = ''])

Returns week of the year, first Sunday is first day of first week
  • Access: public

Parameters:

string   $day     day in format DD, default is current local day
string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]

weeksInMonth   [line 852]

int weeksInMonth( [string $month = ''], [string $year = ''])

Returns the number of rows on a calendar month. Useful for determining the number of rows when displaying a typical month calendar.
  • Return: number of weeks
  • Access: public

Parameters:

string   $month     month in format MM, default is current local month
string   $year     year in format CCYY, default is current local year

[ Top ]


Documentation generated on Sat, 1 May 2004 03:34:27 +0200 by phpDocumentor 1.2.3. PEAR Logo Copyright © PHP Group 2004.