5.00 / 1 oy

C# ile iki tarih arasında rastgele tarih üretmek

Önceki uygulamada bir başlangıç tarihi ile bugün arasında nasıl rastgele bir tarih üretebileceğimize dair bir çözüm geliştirmiştik (bkz C# ile Rastgele Tarih Üretmek). Bu yazıda ise alternatif bir algoritma ile problemi daha spesifik bir hale getirelim ve iki tarih arasında rastgele bir tarih üretelim.

İki adet DateTime veri tipinde değer tanımlayalım ve bu iki tarih arasında rastgele bir tarih üretebilmek için iki tarih arasındaki gün farkını bulalım. Sonra da 1 ile aradaki gün farkı arasında rastgele bir değer alan bir Random sınıfı nesnesi ile rastgele bir tamsayı üreterek üretilen sayıyı son tarihten çıkartalım.

Aşağıdaki örnekte iki tarih arasında rastgele 10 adet tarih üreten bir C# programını görebilirsiniz.

Random random = new Random();
DateTime baslangic = new DateTime(1900, 1, 1);
DateTime bitis = new DateTime(2000, 1, 1);
int maxGun = (DateTime.Today - baslangic).Days;           

for (int i=0; i<10; i++)
{
    DateTime rastgeleTarih = bitis.AddDays(- 1 * random.Next(maxGun));
    System.Console.WriteLine(rastgeleTarih.ToShortDateString());
}

 

Önceki benzer içerikli yazılarımdan bazıları için;

bkz: C# ile string'in karakterlerini rastgele değiştirmek ve sıralamak

bkz: C# ile rastgele tek sayı üretme uygulaması

bkz: C# ile rastgele yazı tura atma uygulaması

bkz: C# ile rastgele zar atma uygulaması

bkz: Visual Studio Code'da foreach döngüsü kısayolu

bkz: C# List içinde arama yapmak

mbologlu

24.04.2021 03:12

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# ile iki tarih arasında rastgele tarih üretmek

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.