# How to Determine If a Date Is in a Leap Year Using ASP

Izjava o odricanju odgovornosti za sadržaj o otpisanom proizvodu u bazi znanja

Ovaj je članak napisan o proizvodu za koji Microsoft više ne pruža podršku. Članak će stoga ostati nepromijenjen i više se neće ažurirati.

### Summary

The method for determining if a given date occurs during a leap year is not as simple as determining whether or not a year is divisible by four. The purpose of this article is to give developers using Microsoft's Active Server Pages (ASP) a method to accurately calculate a leap year.

The rules for determining if a given date falls during a leap year depend on three criteria:
1. Is the year evenly divisible by 4? If so, it is a leap year,

unless...

Is the year evenly divisible by 100? (for example, 1500?) If so, it is not a leap year,

unless...

Is the year evenly divisible by 400? If so, it is a leap year.
2. Is the year evenly divisible by 100? (for example, 1500?) If so, it is not a leap year,

unless...

Is the year evenly divisible by 400? If so, it is a leap year.
3. Is the year evenly divisible by 400? If so, it is a leap year.
An excellent description for why these rules apply can be found in the following Microsoft Knowledge Base article:
214019 XL2000: Method to Determine Whether a Year Is a Leap Year
The following ASP code defines an ASP function named IsLeapYearDate() that determines if a date passed to it occurs in a leap year. Copy this ASP code and save it to a folder in your Web site that has at least "script" permissions:
``<% @Language="vbscript" %><%  Function IsLeapYearDate(dtmTestDate)    IsLeapYearDate = False    If IsDate(dtmTestDate) Then      Dim dtmTempDate      dtmTempDate = "1/31/" & Year(dtmTestDate)      dtmTempDate = DateAdd("m", 1, dtmTempDate)      If Day(dtmTempDate) = 29 Then IsLeapYearDate = True    End If  End Function%><html><head><title>Leap Year Test</title></head><body><pre><%  For X = 1400 to 2000 Step 75    Response.Write X & " is a leap year = "    Response.Write IsLeapYearDate("1/1/" & X) & "<br>"  Next%></pre></body></html>``
``1400 is a leap year = False1475 is a leap year = False1550 is a leap year = False1625 is a leap year = False1700 is a leap year = False1775 is a leap year = False1850 is a leap year = False1925 is a leap year = False2000 is a leap year = True``