Date and Time Functions
- 9 minutes to read
This document describes the date and time functions implemented in the ASPxSpreadsheet.
DATE(year,month,day)
Returns a sequential serial number that represents a particular date.
year
- A number that may include from one to four digits. If the year is between 0 (zero) and 1899 (inclusive), this value is added to 1900 to calculate the year. If the year is between 1900 and 9999 (inclusive), this value is used as the year. If the year is less than 0 or is 10000 or greater, the #NUM! error is returned.month
- A positive or negative integer representing the month of the year. If the month is greater than 12, this number is added to the first month in the year specified. If the month is less than 1, this value plus 1 is subtracted from the first month in the year specified.day
- A positive or negative integer representing the day of the month. If the day is greater than the number of days in the month specified, this number of days is added to the first day in the month. If the day is less than 1, this value plus 1 is subtracted from the first day of the month specified.DATEDIF(start_date, end_date, interval_type)
Returns the number of days, months, or years between two dates.
start_date
is the first date of the period.end_date
is the last date of the period.Dates can be entered as text strings within quotation marks, as serial numbers, or as the results of other formulas or functions.
interval_type
is a case-insensitive string that specifies the type of the returned information:- “M” - Complete calendar months between dates.
- “D” - Number of days between dates.
- “Y” - Complete calendar years between dates.
- “YM” - Complete calendar months between dates as if they were of the same year.
- “YD” - Complete calendar days between dates as if they were of the same year.
- “MD” - Complete calendar days between dates as if they were of the same month and year.
DATEVALUE(date_text)
- Converts a date’s text representation into a serial number that represents a date.
DAY(date_serial_number)
Returns an integer representing the day of the month (from 1 - 31).
date_serial_number
is a serial number representing a date.Use functions such as DATE to supply an argument to the DAY function.
DAYS(end_date, start_date)
- Returns the number of days between two dates.
DAYS360(start_date,end_date,[method])
Returns the number of days between two dates, based on a 360-day year (twelve 30-day months).
start_date
andend_date
are two dates between which you want to know the number of days.Dates should be supplied as cell references, or as results of the DATE or other function that returns a sequential serial number representing a particular date.
method
is a logical value that specifies whether to use the US (NASD) method (if set to True) or European method (if set to False) in the calculation. If the method argument is omitted, the NASD method is used.EDATE(start_date, months)
Returns a date that is a specified number of months before or after a
start_date
.If
months
is not an integer, it is truncated. Dates should be supplied as cell references, or as results of the DATE or other function that returns a sequential serial number representing a particular date.EOMONTH(start_date, months)
Returns the last day of the month that is several months ahead or prior to the
start_date
.If
months
is not an integer, it is truncated. Dates should be supplied as cell references or as results of the DATE or other function that returns a sequential serial number representing a particular date.HOUR(time)
Returns an integer that is the hour component of a specified time.
time
can be a text string representing time, the result of other functions (such as TIMEVALUE), or a decimal number. The decimal number is calculated as a portion of a date value (24 hours is 1.0, so 3 AM is 0.125 in decimal time).ISOWEEKNUM(date)
- Returns number of the ISO week number of the year for a given date.
MINUTE(time)
Returns an integer that is the minutes component of a specified time.
time
can be a text string representing time, the result of other functions (such as TIMEVALUE), or a decimal number. The decimal number is calculated as a portion of a date value (24 hours is 1.0, so 3 AM is 0.125 in decimal time).MONTH(date_serial_number)
Returns an integer that is the month component of a specified date.
date_serial_number
is a serial number representing a date. Use functions such as DATE to supply an argument to the MONTH function.NETWORKDAYS(start_date,end_date,holidays)
Calculates the number of work days between two dates.
Dates should be supplied as cell references or as results of the DATE or other function that returns a sequential serial number representing a particular date. All weekdays are included; weekends and dates identified as holidays are excluded, and not counted as working days. To specify the holidays to be excluded, use an optional third argument that is a range of cells containing dates or an array of serial numbers representing dates.
NETWORKDAYS.INTL(start_date, end_date, weekend, holidays)
Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days.
start_date
andend_date
are required. They are the dates for which the difference is to be computed.weekend
parameter is optional. It indicates the days of the week that are weekend days and are not included in the number of whole working days. Weekend is a weekend number or string that specifies when weekends occur. Weekend numbers are listed in the following table.Weekend Number
Weekend Days
1 or omitted
Saturday, Sunday
2
Sunday, Monday
3
Monday, Tuesday
4
Tuesday, Wednesday
5
Wednesday, Thursday
6
Thursday, Friday
7
Friday, Saturday
11
Sunday only
12
Monday only
13
Tuesday only
14
Wednesday only
15
Thursday only
16
Friday only
17
Saturday only
Weekend string values are seven characters long and each character in the string represents a day of the week, starting with Monday. 1 represents a non-workday and 0 represents a workday. Only the characters 1 and 0 are permitted in the string. For example, 0000110 would result in a weekend that is Friday and Saturday.
holidays
is the optional parameter. It is one or more dates that are to be excluded from the working days. Holidays should be a range of cells containing dates, or an array of the serial values.
NOW()
- Returns the current date and time as a serial number.
SECOND(time)
Returns an integer that is the seconds component of a specified time.
time
can be a text string representing time, the result of other functions, such as TIMEVALUE, or a decimal number. The decimal number is calculated as a portion of a date value (24 hours is 1.0, so 3 AM is 0.125 in decimal time).TIME(hour, minute, second)
Returns a decimal number that represents a specified time.
hour
is a number from 0 (zero) to 32767. Any value greater than 23 will be divided by 24 and its remainder will be taken as an hour value.minute
is a number from 0 (zero) to 32767. Any value greater than 59 will be converted into hours and minutes.second
is a number from 0 (zero) to 32767. Any value greater than 59 will be converted into hours, minutes and seconds.TIMEVALUE(time_text)
Converts a text representation of time into a decimal number that represents time.
Date information in
time_text
is ignored. The decimal number is calculated as a portion of a date value (24 hours is 1.0, so 3 AM is 0.125 in decimal time).TODAY()
- Returns a serial number of the current date.
WEEKDAY(date_serial_number,[return_type])
Returns an integer representing the day of the week for a specified date.
date_serial_number
is a serial number representing a date. Use functions such as DATE to supply an argument to the function.return_type
is a number that specifies which integers are to be assigned to each weekday.Return_type
Number returned
1 or omitted
Numbers 1 (Sunday) through 7 (Saturday).
2
Numbers 1 (Monday) through 7 (Sunday).
3
Numbers 0 (Monday) through 6 (Sunday).
11
Numbers 1 (Monday) through 7 (Sunday).
12
Numbers 1 (Tuesday) through 7 (Monday).
13
Numbers 1 (Wednesday) through 7 (Tuesday).
14
Numbers 1 (Thursday) through 7 (Wednesday).
15
Numbers 1 (Friday) through 7 (Thursday).
16
Numbers 1 (Saturday) through 7 (Friday).
17
Numbers 1 (Sunday) through 7 (Saturday).
WEEKNUM(date_serial_number,[return_type])
Returns an integer that is the week number of a specified date.
date_serial_number
is a serial number representing a date. Use functions such as DATE to supply an argument to the function.return_type
is a number that specifies a numbering system to use and a weekday that should be treated as the start of the week.There are two systems used for this function. System one defines a week containing January 1 as the first week of the year. System two defines a week containing the first Thursday of the year as the first week of the year (ISO 8601, European week numbering system).
Return_type
Week begins on
System
1 or omitted
Sunday
1
2
Monday
1
11
Monday
1
12
Tuesday
1
13
Wednesday
1
14
Thursday
1
15
Friday
1
16
Saturday
1
17
Sunday
1
21
Monday
2
WORKDAY(start_date, days, holidays)
Returns a date that is a specified number of working days (excluding weekends and holidays) before or after a start date.
All weekdays are counted; weekends and dates identified as holidays are excluded. To specify holidays to exclude, use an optional third argument that is a range of cells containing dates or an array of serial numbers representing dates.
WORKDAY.INTL(start_date, days, weekend, holidays)
Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters.
start_date
is a required parameter that specifies the start date. Days is a required parameter that specifies the number of workdays before or after thestart_date
. Weekend and holidays are optional parameters. For information on these parameters refer to the NETWORKDAYS.INTL description.YEAR(date_serial_number)
Returns an integer that is the year component of a specified date.
The year is returned as an integer in the range 1900-9999.
YEARFRAC(start_date, end_date, basis)
Returns the year fraction representing the number of whole days between
start_date
and end_date.The basis is an optional parameter that specifies the type of day count. Basis values are listed in the following table.
Basis
Day count basis
0 or omitted
US (NASD) 30/360
1
Actual/actual
2
Actual/360
3
Actual/365
4
European 30/360