none
Şu hatayı alıyorum. Nerde hata yapıyorum? RRS feed

  • Genel Tartışma

  • şu hatayı alıyorum.

     System.FormatException: Giriş dizesi doğru biçimde değildi.

    amacım takvime tıklandığında bana kaçıncı haftada olduğumu gösterecek.

    kodu aşağıdaki gibi. nerede hata yapıyorum acaba?

    public int HaftayiGoster(DateTime dtPassed)
            {                CultureInfo ciCurr = CultureInfo.CurrentCulture;
                    int weekNum = ciCurr.Calendar.GetWeekOfYear(dtPassed, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
                    return weekNum;
            }


            protected void clTakvim_SelectionChanged(object sender, EventArgs e)
            {
               int tarih =Convert.ToInt32( clTakvim.SelectedDate.ToString("yyyy,MM,dd"));
                DateTime dt = new DateTime(tarih);//BURAYA GİRMEK İSTEDİĞİNİZ HESAPLATMAK İSTEDİĞİNİZ TARİHİ GİRİN.          
                int hafta = HaftayiGoster(dt);            
            }

    29 Aralık 2016 Perşembe 08:57

Tüm Yanıtlar

  • int tarih =Convert.ToInt32( clTakvim.SelectedDate.ToString("yyyy,MM,dd"));

    tarihi int formatına nasıl çeviriyorsun?arada nokta veya virgül var.

    29 Aralık 2016 Perşembe 09:00
  • evet doğru diyorsunuz ancak metot da tarih alırken virgüllü tarih istiyor mesela 2016,11,01 gibi olan tarihi hesaplıyor.

    peki nasıl yapacağım?

    29 Aralık 2016 Perşembe 09:01
  • cltakvim nedir input date mi?
    29 Aralık 2016 Perşembe 09:09
  • asp.net deki calendarı eklemiştim.
    29 Aralık 2016 Perşembe 09:10
  •         public int HaftayiGoster(DateTime dtPassed)
            {
                CultureInfo ciCurr = CultureInfo.CurrentCulture;
                int weekNum = ciCurr.Calendar.GetWeekOfYear(dtPassed, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
                TextBox1.Text = weekNum.ToString();
                return weekNum;
            }


            protected void clTakvim_SelectionChanged(object sender, EventArgs e)
            {
                //int tarih = Convert.ToInt32(clTakvim.SelectedDate.ToString("yyyy,MM,dd"));
                DateTime dt = new DateTime();
                dt = Convert.ToDateTime(clTakvim.SelectedDate.ToString("yyyy,MM,dd"));      
                int hafta = HaftayiGoster(dt);
            }

    textbox a seçili tarihin haftasını yazdırıyor.dener misin

                
    29 Aralık 2016 Perşembe 09:15
  • denedim. oldu. süperrr sinizzz...

    çoookkk teşekkür ederim...

    29 Aralık 2016 Perşembe 09:22
  • rica ederim.iyi çalışmalar.
    29 Aralık 2016 Perşembe 09:29
  • Ayni soruyu iki kere sormussunuz:

    Bu kodda, zaten DateTime olan SelectedDate degerini, once string'e, sonra onu integer'a (ki orada hata aliyorsunuz) ve sonra tekrar DateTime'a cevirip HaftayiGoster metoduna gondermeye calisiyorsunuz. 

    Basitce:

    int hafta = HaftayiGoster(clTakvim.SelectedDate);

    seklinde yazabilirsiniz.

    Not: "int hafta" sonucunu hic kullanmiyorsunuz:

    HaftayiGoster(clTakvim.SelectedDate);

    • Düzenleyen CetinBasoz 29 Aralık 2016 Perşembe 12:19
    29 Aralık 2016 Perşembe 12:17