-
Notifications
You must be signed in to change notification settings - Fork 0
/
a
1 lines (1 loc) · 4.88 KB
/
a
1
<!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Generate Dates</title> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jalaali.js"></script> </head> <body> <div id="dates"></div> <script> function isLeapYear(year) { const leaps = [1, 5, 9, 13, 17, 22, 26, 30]; return leaps.includes(year % 33); } function nextDate(year, month, day) { day += 1; if ((month <= 6 && day > 31) || (month > 6 && month < 12 && day > 30)) { day = 1; month += 1; } else if (month === 12) { if ((isLeapYear(year) && day > 30) || (!isLeapYear(year) && day > 29)) { day = 1; month = 1; year += 1; } } return { year, month, day }; } const start = { year: 1357, month: 11, day: 22 }; const end = { year: 1403, month: 2, day: 31 }; let current = { ...start }; const dates = []; while (current.year < end.year || (current.year === end.year && current.month < end.month) || (current.year === end.year && current.month === end.month && current.day <= end.day)) { dates.push(`${current.day}/${current.month}/${current.year}`); current = nextDate(current.year, current.month, current.day); } document.getElementById("dates").innerText = dates.join(' - '); </script> </body> </html> بله، در اینجا یک کد جاوا اسکریپت ارائه میدهم که تاریخها را از ۲۲ بهمن ۱۳۵۷ تا ۳۱ اردیبهشت ۱۴۰۳ تولید میکند و آنها را با فرمت روز/ماه/سال نمایش میدهد. برای محاسبه و نمایش تاریخهای شمسی، میتوان از کتابخانهی jalaali-js استفاده کرد که برای کار با تاریخهای جلالی (شمسی) در جاوا اسکریپت مفید است. ابتدا، کتابخانهی jalaali-js را دانلود و در پروژه خود استفاده کنید. سپس میتوانید از کد زیر برای تولید تاریخها استفاده کنید: HTML و جاوا اسکریپت html Copy code <!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Generate Dates</title> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jalaali.js"></script> </head> <body> <div id="dates"></div> <script> function isLeapYear(year) { const leaps = [1, 5, 9, 13, 17, 22, 26, 30]; return leaps.includes(year % 33); } function nextDate(year, month, day) { day += 1; if ((month <= 6 && day > 31) || (month > 6 && month < 12 && day > 30)) { day = 1; month += 1; } else if (month === 12) { if ((isLeapYear(year) && day > 30) || (!isLeapYear(year) && day > 29)) { day = 1; month = 1; year += 1; } } return { year, month, day }; } const start = { year: 1357, month: 11, day: 22 }; const end = { year: 1403, month: 2, day: 31 }; let current = { ...start }; const dates = []; while (current.year < end.year || (current.year === end.year && current.month < end.month) || (current.year === end.year && current.month === end.month && current.day <= end.day)) { dates.push(`${current.day}/${current.month}/${current.year}`); current = nextDate(current.year, current.month, current.day); } document.getElementById("dates").innerText = dates.join(' - '); </script> </body> </html> توضیحات: تابع isLeapYear: این تابع بررسی میکند که آیا سال مورد نظر کبیسه است یا خیر. تابع nextDate: این تابع تاریخ روز بعد را محاسبه میکند و اگر لازم باشد، ماه و سال را نیز افزایش میدهد. حلقه تولید تاریخها: با استفاده از حلقه while، تاریخها از تاریخ شروع تا تاریخ پایان تولید میشوند و در یک آرایه ذخیره میشوند. نمایش تاریخها: تاریخهای تولید شده به صورت یک رشته متصل شده و در عنصر HTML با آیدی dates نمایش داده میشوند. این کد تمام تاریخها را از ۲۲ بهمن ۱۳۵۷ تا ۳۱ اردیبهشت ۱۴۰۳ تولید میکند و آنها را با فرمت روز/ماه/سال و با جداکننده - نمایش میدهد.