none
Gelecek hafta pazartesi gününü yakalamak istiyorum. Yardımcı olurmusunuz. Nerde hata yapıyorum. RRS feed

  • Soru

  • Merhaba gelecek bugün günlerden salı oluduğunu varsayın ve gelecek hafta pazartesiyi yakalayıp. o tarihi göstermek istiyorum. kodların sorguları vs.. var ben sadeleştirdim. nerde hata yaptığımı gösterirmisiniz.

    string OgretmeninRandevusu = "1";//Pazartesi            
                //Haftanın kaçıncı günündeyiz onu gösteriyor sayısal olarak.pazar günü 0 olarak kabul ediyor.
                DateTime SuankiTarih = DateTime.Now;//şuanki tarihi salı varsayın
                int dt = (int)DateTime.Now.DayOfWeek;
                
                while (Convert.ToInt32(OgretmeninRandevusu) != dt)
                {               
                   
                    SuankiTarih = Convert.ToDateTime( SuankiTarih.AddDays(1));                
                    int EklenenTarih = (int)DateTime.Now.DayOfWeek;
                    Response.Write(EklenenTarih.ToString());                
                    
                }
    • Düzenleyen CÜNEYT.A 22 Mayıs 2017 Pazartesi 13:54
    22 Mayıs 2017 Pazartesi 13:49

Yanıtlar

  • int istenen = 1; // Pazartesi
    DateTime bugun = DateTime.Now;
    int fark = istenen < (int)bugun.DayOfWeek ? (7 + istenen - (int)bugun.DayOfWeek) : (istenen - (int)bugun.DayOfWeek);
    DateTime pazartesi = bugun.AddDays(fark);


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...


    • Düzenleyen MuratAKSARAY 22 Mayıs 2017 Pazartesi 19:19
    • Yanıt Olarak İşaretleyen CÜNEYT.A 22 Mayıs 2017 Pazartesi 19:26
    22 Mayıs 2017 Pazartesi 17:35

Tüm Yanıtlar

  • DateTime bugun = DateTime.Now; int fark = 8 - bugun.DayOfWeek; DateTime pazartesi = bugun.AddDays(fark);


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    22 Mayıs 2017 Pazartesi 15:46
  • murat bey verdiğiniz kodda varsayılan gün perşembe olursa yine aynı sonucu verecekmi yani haftaya perşembe günkü tarihi?

    Amacım varsayılan tarih hangisi ise ki bu değişken. haftaya o günkü tarihi verecek. o yüzden while deyimi kullandım.

    • Düzenleyen CÜNEYT.A 22 Mayıs 2017 Pazartesi 15:52
    22 Mayıs 2017 Pazartesi 15:51
  • int istenen = 1; // Pazartesi
    DateTime bugun = DateTime.Now;
    int fark = 7 + istenen - bugun.DayOfWeek;
    DateTime pazartesi = bugun.AddDays(fark);


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    22 Mayıs 2017 Pazartesi 16:01
  • murat bey evet siz direkt olarak bir hafta 7 gün ekliyorsunuz. ben anlatamadım galiba.

    Şimdi varsayılan gün perşembe ve ben sisteme salı gün girdiğimde sistem bana perşembe günkü tarihi vermeli. yani 2 gün sonrasındaki tarihi.

    Vasayılan günüm salı ve perşembe günü sisteme girdim. ozaman otomatik olarak bir hafta sonraki salı günkü tarihi verecek yani 5 gün sonra. yani sayım yapacak önüne gelen ilk varsayılan tarihi yapacak. 

    bu yüzden while değimi kullandım.

    22 Mayıs 2017 Pazartesi 16:05
  • int istenen = 1; // Pazartesi
    DateTime bugun = DateTime.Now;
    int fark = istenen < (int)bugun.DayOfWeek ? (7 + istenen - (int)bugun.DayOfWeek) : (istenen - (int)bugun.DayOfWeek);
    DateTime pazartesi = bugun.AddDays(fark);


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...


    • Düzenleyen MuratAKSARAY 22 Mayıs 2017 Pazartesi 19:19
    • Yanıt Olarak İşaretleyen CÜNEYT.A 22 Mayıs 2017 Pazartesi 19:26
    22 Mayıs 2017 Pazartesi 17:35
  • murat bey aşağıdaki hatayı veriyor

    Error 1 Operator '<' cannot be applied to operands of type 'int' and 'System.DayOfWeek'

    22 Mayıs 2017 Pazartesi 19:07
  • Yukarıdaki kodu düzenledim. 

    (int)bugun.DayOfWeek olması gerekiyordu.

    Başarılar...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    22 Mayıs 2017 Pazartesi 19:21
  • Murat bey bir harikasınız... 

    Sizleri gördükçe kat edecek okadar çok uzun bir yolumuz var olduğunu gördükçe üzülüyorum... 

    Umarım bir gün bende sizin gibi soruları cevaplayacak seviyeye ulaşırım.

    Çok teşekkürler...

    22 Mayıs 2017 Pazartesi 19:27
  • Murat bey son birşey sormak istiyorum. Ben  bunu örnek olarak 13.06.2017 tarihe kadar göstermek istiyorum. bunu nasıl yapabilirim.

    aşağıdaki değerleri pazartesi günlerini göstermesini istediğimde vereceği sonuç; Yukarıdaki kodunuzu bitiş tarihi olsun o tarihe kadar olanı göstermesini istiyorum.

    22.05.2017

    29.05.2017

    05.06.2017

    12.06.2017

    23 Mayıs 2017 Salı 11:56
  • public DateTime GunBul(int istenen, DateTime baslangic)
    {
        int haftadaBugun = (int)baslangic.DayOfWeek;
        int fark = istenen - haftadaBugun;
        if (fark < 1) fark += 7;
        return bugun.AddDays(fark);
    }
    
    private void Button1_Click(object sender, EventArgs e)
    {
        int istenen = 1 // Pazartesi için...
        DateTime bulunan = GunBul(istenen, DateTime.Now);
        DateTime limit = new DateTime(2017, 05, 31, 23, 59, 59);
        List<DateTime> liste = new Liste<DateTime>(); 
        while (DateTime.Compare(bulunan, limit) < 2) 
        {
           liste.Add(bulunan);
           bulunan = GunBul(istenen, bulunan);
        }
    }


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...


    23 Mayıs 2017 Salı 13:18
  • Murat bey datetimepicker ve combobox yok ki! asp.net de. nasıl yapacağım?

    Kusuruma bakma kafam durdu artık. bir şu işin içinden çıkamadım :(

    23 Mayıs 2017 Salı 13:26
  • Kodları düzenledim.

    Siz List yerine başka bir sınıf kullanabilirsiniz.

    Başarılar...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    23 Mayıs 2017 Salı 13:54