-- : -- : -- --
ساعت و تقویم ایران
|یکشنبه - ۱ فروردین ۱۳۸۹
تاریخ خورشیدی
۱۳۸۹/۰۱/۰۱
یکشنبه - ۱ فروردین ۱۳۸۹
تاریخ میلادی
2010-03-21
Sunday - March 21, 2010
تاریخ قمری
۱۴۳۱/۰۴/۰۵
الاحد - ۰۵ ربیعالثانی ۱۴۳۱
برج فلکی
♈حمل
March - April 2010
ربیعالثانی - جمادیالاولی ۱۴۳۱
مناسبتهای ماه فروردین
- ۱ فروردینآغاز نوروز
- ۲ فروردینعید نوروز
- ۳ فروردینعید نوروز
- ۴ فروردینعید نوروز
- ۱۲ فروردینروز جمهوری اسلامی ایران
- ۱۳ فروردینروز طبیعت (سیزدهبهدر)
- ۲۷ فروردینشهادت حضرت فاطمه زهرا
راهنمای استفاده از دادههای تقویم FarsiUI
با دادههای تقویم FarsiUI میتوانید بررسی کنید که یک روز تعطیل رسمی است یا چه مناسبتهایی دارد. نیازی به نصب پکیج یا راهاندازی سرور ندارید؛ کافی است فایل JSON موردنیاز را از طریق اینترنت دریافت کنید.
برای نصب همان UI تقویم (جدول ماه، مناسبتها، ساعت و کارت تاریخها) در پروژهٔ خود:
npx farsiui@latest add iran-calendarبعد از نصب، صفحه در /iran-calendar در دسترس است و فایلها در components/iran-calendar/ قرار میگیرند.
در ادامه، فقط مصرف مستقیم فایلهای JSON توضیح داده شده است. در این راهنما از سال ۱۴۰۵ بهعنوان مثال استفاده میکنیم.
سال موردنظر را مشخص کنید
سال تقویم جلالی را انتخاب کنید؛ مثلاً 1405. این عدد در آدرس فایلهای همان سال استفاده میشود.
فایل موردنیاز را انتخاب کنید
این سه فایل در دسترس است:
holidays.json— تعطیلات رسمی همان سال (ملی و مذهبی)events.json— مناسبتهای غیرتعطیل همان سالmeta.json— فهرست همهٔ سالهای منتشرشده (برای کل مجموعه، نه فقط یک سال)
میتوانید لینک هر فایل را در مرورگر باز کنید یا مستقیماً در کد خود از آن استفاده کنید.
فایل JSON را دریافت کنید
برای دریافت اطلاعات، از fetch استفاده کنید:
const response = await fetch(
"https://raw.githubusercontent.com/MiladJoodi/FarsiUI/main/calendar/years/1405/holidays.json"
);
const data = await response.json();
console.log(data);در این مثال، اطلاعات تعطیلات رسمی سال ۱۴۰۵ دریافت میشود.
ساختار دادهها را بشناسید
اطلاعات هر فایل در قالب JSON ارائه میشود. فهرست روزها داخل ویژگی items قرار دارد.
نمونهای از یک آیتم:
{
"id": "nature-day-1405",
"date": "1405-01-13",
"title": {
"fa": "روز طبیعت",
"en": "Nature Day"
},
"isHoliday": true,
"categories": ["national"]
}معنی فیلدها:
id: شناسه یکتای مناسبتdate: تاریخ شمسی به فرمتYYYY-MM-DDtitle.fa: عنوان فارسیtitle.en: عنوان انگلیسیisHoliday: مشخص میکند این مناسبت تعطیل رسمی است یا نهcategories: دستهبندی مناسبت
ممکن است در یک روز چند مناسبت وجود داشته باشد؛ بنابراین برای پیدا کردن مناسبتهای یک روز، تمام آیتمهای مطابق با تاریخ را بررسی کنید.
تعطیلی یا مناسبت یک روز را پیدا کنید
اگر تاریخ شمسی روز موردنظر را دارید، آن را با فیلد date مقایسه کنید:
const response = await fetch(
"https://raw.githubusercontent.com/MiladJoodi/FarsiUI/main/calendar/years/1405/holidays.json"
);
const data = await response.json();
// تاریخ شمسی موردنظر
const day = "1405-01-13";
const matches = data.items.filter(
(item) => item.date === day
);
if (matches.length > 0) {
console.log(matches.map((item) => item.title.fa));
} else {
console.log("تعطیل رسمی در این فهرست ثبت نشده است.");
}اگر برای آن روز چند مناسبت ثبت شده باشد، همهٔ آنها برگردانده میشوند.
اگر تاریخ میلادی دارید، ابتدا آن را تبدیل کنید
فایلهای تقویم FarsiUI از تاریخ شمسی استفاده میکنند و وظیفهٔ تبدیل تاریخ را بر عهده ندارند.
اگر تاریخ شما میلادی است، ابتدا آن را با یک کتابخانهٔ سازگار با تقویم جلالی، مانند @internationalized/date، به تاریخ شمسی تبدیل کنید. سپس تاریخ را با فرمت YYYY-MM-DD بسازید و در فهرست مناسبتها جستوجو کنید.
چند نکته مهم
- برای دریافت فایلها به اینترنت نیاز دارید، اما به سرور اختصاصی یا API خودتان احتیاجی نیست.
- فایلهای هر سال را فقط پس از انتشار و بررسی صحت دادهها استفاده کنید.
- این دادهها برای تشخیص مناسبتها و تعطیلات هستند؛ تبدیل تاریخ و محاسبهٔ روز هفته باید جداگانه انجام شود.
منبع اصلی دادهها، سایت رسمی مرکز تقویم دانشگاه تهران است.