Yahoo! UI Library

Calendar  2.5.1

Yahoo! UI Library > calendar > YAHOO.widget.DateMath

Show Private Show Protected

Class YAHOO.widget.DateMath

YAHOO.widget.DateMath is used for simple date manipulation. The class is a static utility used for adding, subtracting, and comparing dates.

Properties

DAY - static final String

Constant field representing Day

MONTH - static final String

Constant field representing Month

ONE_DAY_MS - static final Number

Constant field representing one day, in milliseconds

WEEK - static final String

Constant field representing Week

WEEK_ONE_JAN_DATE - static Number

Constant field representing the date in first week of January which identifies the first week of the year.

In the U.S, Jan 1st is normally used based on a Sunday start of week. ISO 8601, used widely throughout Europe, uses Jan 4th, based on a Monday start of week.


YEAR - static final String

Constant field representing Year

Methods

_addDays

private void _addDays ( d , nDays )
Private helper method to account for bug in Safari 2 (webkit < 420) when Date.setDate(n) is called with n less than -128 or greater than 127.

Fix approach and original findings are available here: http://brianary.blogspot.com/2006/03/safari-date-bug.html

Parameters:
d <Date> JavaScript date object
nDays <Number> The number of days to add to the date object (can be negative)
Returns: void

add

Date add ( date , field , amount )
Adds the specified amount of time to the this instance.
Parameters:
date <Date> The JavaScript Date object to perform addition on
field <String> The field constant to be used for performing addition.
amount <Number> The number of units (measured in the field constant) to add to the date.
Returns: Date
The resulting Date object

after

Boolean after ( date , compareTo )
Determines whether a given date is after another date on the calendar.
Parameters:
date <Date> The Date object to compare with the compare argument
compareTo <Date> The Date object to use for the comparison
Returns: Boolean
true if the date occurs after the compared date; false if not.

before

Boolean before ( date , compareTo )
Determines whether a given date is before another date on the calendar.
Parameters:
date <Date> The Date object to compare with the compare argument
compareTo <Date> The Date object to use for the comparison
Returns: Boolean
true if the date occurs before the compared date; false if not.

between

Boolean between ( date , dateBegin , dateEnd )
Determines whether a given date is between two other dates on the calendar.
Parameters:
date <Date> The date to check for
dateBegin <Date> The start of the range
dateEnd <Date> The end of the range
Returns: Boolean
true if the date occurs between the compared dates; false if not.

clearTime

Date clearTime ( date )
Clears the time fields from a given date, effectively setting the time to 12 noon.
Parameters:
date <Date> The JavaScript Date for which the time fields will be cleared
Returns: Date
The JavaScript Date cleared of all time fields

findMonthEnd

Date findMonthEnd ( date )
Gets the last day of a month containing a given date.
Parameters:
date <Date> The JavaScript Date used to calculate the month end
Returns: Date
The JavaScript Date representing the last day of the month

findMonthStart

Date findMonthStart ( date )
Gets the first day of a month containing a given date.
Parameters:
date <Date> The JavaScript Date used to calculate the month start
Returns: Date
The JavaScript Date representing the first day of the month

getDate

Date getDate ( y , m , d )
Returns a new JavaScript Date object, representing the given year, month and date. Time fields (hr, min, sec, ms) on the new Date object are set to 0. The method allows Date instances to be created with the a year less than 100. "new Date(year, month, date)" implementations set the year to 19xx if a year (xx) which is less than 100 is provided.

NOTE:Validation on argument values is not performed. It is the caller's responsibility to ensure arguments are valid as per the ECMAScript-262 Date object specification for the new Date(year, month[, date]) constructor.

Parameters:
y <Number> Year.
m <Number> Month index from 0 (Jan) to 11 (Dec).
d <Number> (optional) Date from 1 to 31. If not provided, defaults to 1.
Returns: Date
The JavaScript date object with year, month, date set as provided.

getDayOffset

Number getDayOffset ( date , calendarYear )
Calculates the number of days the specified date is from January 1 of the specified calendar year. Passing January 1 to this function would return an offset value of zero.
Parameters:
date <Date> The JavaScript date for which to find the offset
calendarYear <Number> The calendar year to use for determining the offset
Returns: Number
The number of days since January 1 of the given year

getFirstDayOfWeek

Date getFirstDayOfWeek ( dt , startOfWeek )
Get the first day of the week, for the give date.
Parameters:
dt <Date> The date in the week for which the first day is required.
startOfWeek <Number> The index for the first day of the week, 0 = Sun, 1 = Mon ... 6 = Sat (defaults to 0)
Returns: Date
The first day of the week

getJan1

Date getJan1 ( calendarYear )
Retrieves a JavaScript Date object representing January 1 of any given year.
Parameters:
calendarYear <Number> The calendar year for which to retrieve January 1
Returns: Date
January 1 of the calendar year specified.

getWeekNumber

Number getWeekNumber ( date , firstDayOfWeek , janDate )
Calculates the week number for the given date. Can currently support standard U.S. week numbers, based on Jan 1st defining the 1st week of the year, and ISO8601 week numbers, based on Jan 4th defining the 1st week of the year.
Parameters:
date <Date> The JavaScript date for which to find the week number
firstDayOfWeek <Number> The index of the first day of the week (0 = Sun, 1 = Mon ... 6 = Sat). Defaults to 0
janDate <Number> The date in the first week of January which defines week one for the year Defaults to the value of YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE, which is 1 (Jan 1st). For the U.S, this is normally Jan 1st. ISO8601 uses Jan 4th to define the first week of the year.
Returns: Number
The number of the week containing the given date.

isMonthOverlapWeek

Boolean isMonthOverlapWeek ( weekBeginDate )
Determines if a given week overlaps two different months.
Parameters:
weekBeginDate <Date> The JavaScript Date representing the first day of the week.
Returns: Boolean
true if the date overlaps two different months.

isYearOverlapWeek

Boolean isYearOverlapWeek ( weekBeginDate )
Determines if a given week overlaps two different years.
Parameters:
weekBeginDate <Date> The JavaScript Date representing the first day of the week.
Returns: Boolean
true if the date overlaps two different years.

subtract

Date subtract ( date , field , amount )
Subtracts the specified amount of time from the this instance.
Parameters:
date <Date> The JavaScript Date object to perform subtraction on
field <Number> The this field constant to be used for performing subtraction.
amount <Number> The number of units (measured in the field constant) to subtract from the date.
Returns: Date
The resulting Date object


Copyright © 2007 Yahoo! Inc. All rights reserved.