1const ramadanTimes = { 2 "2026-02-19": { sahur: "06:32", iftar: "19:01" }, 3 "2026-02-20": { sahur: "06:31", iftar: "19:02" }, 4 "2026-02-21": { sahur: "06:29", iftar: "19:03" }, 5 "2026-02-22": { sahur: "06:28", iftar: "19:04" }, 6 "2026-02-23": { sahur: "06:27", iftar: "19:05" }, 7 "2026-02-24": { sahur: "06:25", iftar: "19:07" }, 8 "2026-02-25": { sahur: "06:24", iftar: "19:08" }, 9 "2026-02-26": { sahur: "06:23", iftar: "19:09" }, 10 "2026-02-27": { sahur: "06:21", iftar: "19:10" }, 11 "2026-02-28": { sahur: "06:20", iftar: "19:11" }, 12 "2026-03-01": { sahur: "06:18", iftar: "19:12" }, 13 "2026-03-02": { sahur: "06:17", iftar: "19:13" }, 14 "2026-03-03": { sahur: "06:15", iftar: "19:14" }, 15 "2026-03-04": { sahur: "06:14", iftar: "19:16" }, 16 "2026-03-05": { sahur: "06:12", iftar: "19:17" }, 17 "2026-03-06": { sahur: "06:11", iftar: "19:18" }, 18 "2026-03-07": { sahur: "06:09", iftar: "19:19" }, 19 "2026-03-08": { sahur: "06:08", iftar: "19:20" }, 20 "2026-03-09": { sahur: "06:06", iftar: "19:21" }, 21 "2026-03-10": { sahur: "06:04", iftar: "19:22" }, 22 "2026-03-11": { sahur: "06:03", iftar: "19:23" }, 23 "2026-03-12": { sahur: "06:01", iftar: "19:24" }, 24 "2026-03-13": { sahur: "05:59", iftar: "19:25" }, 25 "2026-03-14": { sahur: "05:58", iftar: "19:26" }, 26 "2026-03-15": { sahur: "05:56", iftar: "19:27" }, 27 "2026-03-16": { sahur: "05:54", iftar: "19:28" }, 28 "2026-03-17": { sahur: "05:53", iftar: "19:29" }, 29 "2026-03-18": { sahur: "05:51", iftar: "19:30" }, 30 "2026-03-19": { sahur: "05:49", iftar: "19:32" } 31}; 32 33 34function updateCountdown() { 35 const now = new Date(); 36 37 function getTime(dateStr, timeStr) { 38 const [h, m] = timeStr.split(":").map(Number); 39 const d = new Date(dateStr); 40 d.setHours(h, m, 0, 0); 41 return d; 42 } 43 44 let todayKey = now.toISOString().split("T")[0]; 45 let todayTimes = ramadanTimes[todayKey]; 46 47 if (!todayTimes) { 48 document.getElementById("ramadanCountdown").innerText = ""; 49 return; 50 } 51 52 const sahurDate = getTime(now, todayTimes.sahur); 53 const iftarDate = getTime(now, todayTimes.iftar); 54 55 let targetTime, label, displayTime; 56 57 if (now < sahurDate) { 58 targetTime = sahurDate; 59 label = "Sahur"; 60 displayTime = todayTimes.sahur; 61 } else if (now < iftarDate) { 62 targetTime = iftarDate; 63 label = "İftar"; 64 displayTime = todayTimes.iftar; 65 } else { 66 // Tomorrow's sahur 67 const tomorrow = new Date(now); 68 tomorrow.setDate(now.getDate() + 1); 69 const tomorrowKey = tomorrow.toISOString().split("T")[0]; 70 const tomorrowTimes = ramadanTimes[tomorrowKey]; 71 if (!tomorrowTimes) return; 72 73 targetTime = getTime(tomorrow, tomorrowTimes.sahur); 74 label = "Sahur"; 75 displayTime = tomorrowTimes.sahur; 76 } 77 78 const diff = Math.max(0, targetTime - now); 79 const totalSeconds = Math.floor(diff / 1000); 80 81 const hours = Math.floor(totalSeconds / 3600); 82 const minutes = Math.floor((totalSeconds % 3600) / 60); 83 const seconds = totalSeconds % 60; 84 85 document.getElementById("ramadanCountdown").innerHTML = 86 `${label} ${displayTime}<br>Kalan süre ${hours}:${minutes.toString().padStart(2,'0')}:${seconds.toString().padStart(2,'0')}`; 87 88} 89 90setInterval(updateCountdown, 1000); 91updateCountdown();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.