Solved

Calculation for leap year?

Posted on 2007-11-19
6
695 Views
Last Modified: 2010-04-21
I am currently trying to calculate if a year is a leap year or not. arrYear(i) would be just a input for the year..

So, I entered the year 2008 and it return a false. What gives?
Dim blnLeapYear As Boolean = ((arrYear(i) Mod 4 = 0) And (arrYear(i) Mod 100 = 0)) Or (arrYear(i) Mod 400 = 0)

Open in new window

0
Comment
Question by:Sharalynn
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 10

Assisted Solution

by:Oliver Amaya
Oliver Amaya earned 200 total points
ID: 20312027
Hi, there's a built-in function that does that for you:
Dim blnLeapYear As Boolean = DateTime.IsLeapYear(arrYear(i))

Open in new window

0
 
LVL 9

Accepted Solution

by:
codeclay earned 300 total points
ID: 20312126
Dim blnLeapYear As Boolean = ((arrYear(i) Mod 4 = 0) And (arrYear(i) Mod 100 <> 0)) Or (arrYear(i) Mod 400 = 0)
0
 

Author Comment

by:Sharalynn
ID: 20312888
Thank you both so much!

For some reason the built-in function returns an error:
Year must be between 1 and 9999.
Parameter name: year

However the 2nd one works great. I must have done the 1st one wrong somehow. Just fyi, I get the value from a dropdownlist using something like ddlYear1.SelectedItem.Value
0
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 

Author Closing Comment

by:Sharalynn
ID: 31409921
Nice!
0
 
LVL 10

Expert Comment

by:Oliver Amaya
ID: 20313278
Well as the error says you're sending a number that is either lower than 1 or higher than 9999, maybe you got a null or empty value in your DropDownList?, it's always good to add validations so that exceptions like that are not raised.
0
 

Author Comment

by:Sharalynn
ID: 20318852
That's weird because after the value has been retrieved, the 2nd one work for me but the first one didn't. I also made sure the value has been converted of type Integer first. There are only 3 year values as well. No idea what happened there. Ah well, it works out in the end anyway. Choices are good!
0

Featured Post

[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have developed many web applications with asp & asp.net and to add and use a dropdownlist was always a very simple task, but with the new asp.net, setting the value is a bit tricky and its not similar to the old traditional method. So in this a…
User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question