• 03-10-2023, 02:07:42
    #1
    Daha önce açtığım konu vardı ancak cevapla diyerek mesaj göndermeye çalıştığımda gitmeyip hata verdiği için yeni konu açmam gerekti.

    const DateOptionDailyIncomesBaslangic = "26.09.2023"
    const DateOptionDailyIncomesBitis = "27.09.2023"

    Bu şekilde tarih girdiğimde sorunsuz kullanıyordum. Elle tarih girmek yerine otomatik yapmak istemiştim.
    Buradan aldığım yardımlarınız ile alttaki şekilde kod kullandığımda herşey güzel sorunsuz. Teşekkürler.
    DaysToSubtractID ile eğer cumartesi, pazar veya pazartesi ise düşülecek gün sayısını belirleyerek DateOptionDailyIncomesBitis değerini belirledim.
    Before ile de bir önceki iş gününü belirledim. Aynı ay içerisinde olduğumzuda sorun yok.
    Ancak ay atladığımızda sorun yaşadım. Örneğin bugün

    const DateOptionDailyIncomesBaslangic = "29.09.2023"
    const DateOptionDailyIncomesBitis = "02.10.2023"

    olması gerektiğinde DateOptionDailyIncomesBaslangic değeri -1 oldu. Ay atladığımız için bu kısma kaçırmışım.
    Birşeyler yapamya çalıştım ama baya uzun kod yazmam gerekti ve çok karışık oldu.
    Eminim ki bunun çok daha kısa ve sade bir yolu vardır.
    Bugünün tarihinden üç gün düştüğümde eğer ay atlamış ise doğru değere nasıl ulaşabilirim ?
    Bazı aylar 30 bazı aylar 31 bi de şubat meselesi var Aklımda deli sorular.
    Yardımcı olacak üstadlarıma şimdiden teşekkür ederim.

    //BAŞLANGIÇ - TARİH DEĞERİNİ BELİRLE
    
    const TodayID = new Date();                                                                                                        //Bugünün tarihini belirle
    let DaysToSubtractID = 0;                                                                                                          //Düşülecek gün sayısını 0 olarak belirle
    let Before = 1;
    if (TodayID.getDay() === 6) { DaysToSubtractID = 1; Before = 1; }                                                                  //Günlerden Cumartesi(6) ise 1 gün düş
    if (TodayID.getDay() === 0) { DaysToSubtractID = 2; Before = 2;}                                                                   //Günlerden Pazar(0) ise 2 gün düş
    if (TodayID.getDay() === 1) { DaysToSubtractID = 0; Before = 3;}                                                                   //Günlerden Pazartesi(1) ise 3 gün düş
    
    
    function formatDate(date, DaysToSubtractID)                                                                                             //Tarihi "2023-09-23" formatından "23.09.2023" formatına çevirme formülü
    {
      const year = date.getFullYear();
      const month = String(date.getMonth() + 1).padStart(2, "0");
      const day = String(date.getDate() - DaysToSubtractID).padStart(2, "0");
      return `${day}.${month}.${year}`;
    }
    //const DateOptionDailyIncomesBaslangic = formatDate(TodayID, DaysToSubtractID + Before);                                      //Düşülecek gün sayısını düşerek tarihi "2023-09-23" formatından "23.09.2023" formatına çevir
    //const DateOptionDailyIncomesBitis = formatDate(TodayID, DaysToSubtractID);                                         //Düşülecek gün sayısını düşerek tarihi "2023-09-23" formatından "23.09.2023" formatına çevir
    
    //BİTİŞ - TARİH DEĞERİNİ BELİRLE
  • 03-10-2023, 02:18:36
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    const TodayID = new Date(); // Bugünün tarihini al
    let DaysToSubtractID = 0; // Düşülecek gün sayısını 0 olarak belirle
    let Before = 1;
    
    if (TodayID.getDay() === 6) { // Günlerden Cumartesi(6) ise
      DaysToSubtractID = 1; 
      Before = 1;
    } else if (TodayID.getDay() === 0) { // Günlerden Pazar(0) ise
      DaysToSubtractID = 2;
      Before = 2;
    } else if (TodayID.getDay() === 1) { // Günlerden Pazartesi(1) ise
      DaysToSubtractID = 0;
      Before = 3;
    }
    
    // Başlangıç tarihini hesapla
    const DateOptionDailyIncomesBaslangic = formatDate(TodayID, DaysToSubtractID + Before);
    
    function formatDate(date, daysToSubtract) {
      const newDate = new Date(date); // Verilen tarihi bir kopyasını oluştur
      newDate.setDate(newDate.getDate() - daysToSubtract); // Belirtilen gün sayısını çıkar
      const year = newDate.getFullYear();
      const month = String(newDate.getMonth() + 1).padStart(2, "0");
      const day = String(newDate.getDate()).padStart(2, "0");
      return `${day}.${month}.${year}`;
    }
    
    console.log(DateOptionDailyIncomesBaslangic); // Sonuç tarihini yazdır
    Bu kodu dener misin hocam?
  • 03-10-2023, 03:23:00
    #3
    Onur_Ozturk adlı üyeden alıntı: mesajı görüntüle
    Bu kodu dener misin hocam? 
    			
    Teşekkür ederim, sorunsuz çalıştı.
  • 03-10-2023, 03:24:25
    #4
    Yönetici onayı bekliyor
    igotek adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim, sorunsuz çalıştı.
    Ne mutlu, iyi çalışmalar dilerim.