Click here to Skip to main content
15,889,595 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
See more:
Hi how to generate a random date ?

VB
I want to generate randomly date in pastyears


VB
I want to generate randomly date in future

VB
I want to generate randomly date in both
Posted

Random past date
Random gen = new Random();
int range = 5*365; //5 years          
DateTime randomDate = DateTime.Today.AddDays(- gen.Next(range));


Random future date:
Random gen = new Random();
int range = 5*365; //5 years  
DateTime randomDate = DateTime.Today.AddDays(gen.Next(range));


Hope it helps.
 
Share this answer
 
v2
Comments
suryaswathi 1-Jul-11 2:08am    
Hi its working but it generates same date and year more time

duplication occur..how to slove uniqe date
Prerak Patel 1-Jul-11 2:11am    
How you code it? If you are looping, just loop through last statement.
RakeshMeena 1-Jul-11 2:17am    
Prerak is right! You need to move the Random instantiation outside the loop.
suryaswathi 1-Jul-11 2:33am    
public DateTime createRandomDate()
{

Random gen = new Random();
int range = 50 * 365; //5 years
DateTime randomDate = DateTime.Today.AddDays(-gen.Next(range));
return randomDate;


}

i did like that ..its return duplicates more how to change
Prerak Patel 1-Jul-11 2:37am    
That's a bad idea.

Random gen = new Random();
int range = 50 * 365;
for(i=0; i<10; i++){
createRandonDate(gen, range); }


and

public DateTime createRandomDate(Random gen, int range)
{
DateTime randomDate = DateTime.Today.AddDays(-gen.Next(range));
return randomDate;
}
Here is a link you should look at.
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 2-Jul-11 2:12am    
It does show the solution, a 5.
--SA
RakeshMeena 3-Jul-11 23:54pm    
Thanks SA!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900