Verdiğiniz değerli bilgiler için teşekkür ederim. Bu yıl sadece 1 gün resmi tatil var. 2024 yılı için de tatil günlerini manuel olarak ekleyerek kodu yazdım.
Mantık şu:
Haftanın beş günü fiyat bilgisi alıyorum. (Cumartesi ve Pazar fiyat bilgisi yok.)
Sisteme girildiğinde cumartesi günü ise 1 gün öncesinin, pazar günü ise 2 gün öncesinin, pazartesi ise 3 gün öncesinin fiyatlarını alıyorum. Yani her şekilde cuma gününe ait fiyatı kullanıyorum.
Tatil günleri de bir önceki iş gününe ait fiyat bilgisini kullanıyorum.
//BAŞLANGIÇ - TARİH DEĞERİNİ BELİRLE
const TodayCP = new Date(); //Bugünün tarihini belirle
let daysToSubtract = 0; //Düşülecek gün sayısını 0 olarak belirle
if (TodayCP.getDay() === 6) { daysToSubtract = 1; } //Günlerden Cumartesi(6) ise 1 gün düş
if (TodayCP.getDay() === 0) { daysToSubtract = 2; } //Günlerden Pazar(0) ise 2 gün düş
if (TodayCP.getDay() === 1) { daysToSubtract = 3; } //Günlerden Pazartesi(1) ise 3 gün düş
if (TodayCP.getFullYear() === 2023 & TodayCP.getMonth() === 8 & TodayCP.getDate() === 29){ daysToSubtract = 2; } //29.09.2023 - Pazar - Cumhuriyet Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 0 & TodayCP.getDate() === 1){ daysToSubtract = 3; } //01.01.2024 - Pazartesi - Yılbaşı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 0 & TodayCP.getDate() === 2){ daysToSubtract = 4; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 8){ daysToSubtract = 3; } //08.04.2024 - Pazartesi - Tatili uzatacaklar
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 9){ daysToSubtract = 4; } //09.04.2024 - Salı - Ramazan Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 10){ daysToSubtract = 5; } //10.04.2024 - Çarşamba - Ramazan Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 11){ daysToSubtract = 6; } //11.04.2024 - Perşembe - Ramazan Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 12){ daysToSubtract = 7; } //12.04.2024 - Cuma - Ramazan Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 13){ daysToSubtract = 8; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 14){ daysToSubtract = 9; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 15){ daysToSubtract = 10; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 23){ daysToSubtract = 1; } //23.04.2024 - Salı - Çocuk Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 3 & TodayCP.getDate() === 23){ daysToSubtract = 2; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 4 & TodayCP.getDate() === 1){ daysToSubtract = 1; } //01.05.2024 - Çarşamba - İşçi Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 4 & TodayCP.getDate() === 2){ daysToSubtract = 2; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 4 & TodayCP.getDate() === 19){ daysToSubtract = 2; } //19.05.2024 - Pazar - Gençlik ve Spor Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 15){ daysToSubtract = 1; } //15.06.2024 - Cumartesi - Kurban Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 16){ daysToSubtract = 2; } //16.06.2024 - Pazar - Kurban Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 17){ daysToSubtract = 3; } //17.06.2024 - Pazartesi - Kurban Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 18){ daysToSubtract = 4; } //18.06.2024 - Salı - Kurban Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 19){ daysToSubtract = 5; } //19.06.2024 - Çarşamba - Kurban Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 20){ daysToSubtract = 6; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 21){ daysToSubtract = 7; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 22){ daysToSubtract = 8; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 23){ daysToSubtract = 9; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 5 & TodayCP.getDate() === 24){ daysToSubtract = 10; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 6 & TodayCP.getDate() === 15){ daysToSubtract = 3; } //15.07.2024 - Pazartesi - Sahte Darbe Girişimi
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 6 & TodayCP.getDate() === 16){ daysToSubtract = 4; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 7 & TodayCP.getDate() === 30){ daysToSubtract = 1; } //30.08.2024 - Pazartesi - Zafer Bayramı
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 7 & TodayCP.getDate() === 31){ daysToSubtract = 2; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 8 & TodayCP.getDate() === 1){ daysToSubtract = 3; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 8 & TodayCP.getDate() === 2){ daysToSubtract = 4; } //Bir önceki iş gününü oku
if (TodayCP.getFullYear() === 2024 & TodayCP.getMonth() === 8 & TodayCP.getDate() === 29){ daysToSubtract = 1; } //29.09.2024 - Salı - Cumhuriyet Bayramı
function formatDate(date, daysToSubtract) //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() - daysToSubtract).padStart(2, "0");
return `${day}.${month}.${year}`;
}
const DateOptionTodayCurrentPrices = formatDate(TodayCP, daysToSubtract); //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