FarsiUI
123456789101112

-- : -- : -- --

ساعت و تقویم ایران

پنجشنبه - ۱ فروردین ۱۳۸۷

تاریخ خورشیدی

۱۳۸۷/۰۱/۰۱

پنجشنبه - ۱ فروردین ۱۳۸۷

تاریخ میلادی

2008-03-20

Thursday - March 20, 2008

تاریخ قمری

۱۴۲۹/۰۳/۱۲

الخمیس - ۱۲ ربیع‌الاول ۱۴۲۹

برج فلکی

حوت

March - April 2008

ربیع‌الاول - ربیع‌الثانی ۱۴۲۹

ش
ی
د
س
چ
پ
ج

مناسبت‌های ماه فروردین

  • ۱ فروردینآغاز نوروز
  • ۲ فروردینعید نوروز
  • ۳ فروردینعید نوروز
  • ۳ فروردینروز ملی کارآفرینی – روز بزرگداشت شیخ بهایی
  • ۳ فروردینو روز مقاومت، ایثار و پیروزی المقدس فتح خرمر در عملیات بیت
  • ۴ فروردینعید نوروز
  • ۵ فروردینشکست حمله نظامی آمریکا به ایران در طبس
  • ۶ فروردینمیلاد امام جعفر صادق
  • ۱۰ فروردینالمقدس روز ملی خلیج فارس آغاز عملیات بیت
  • ۱۲ فروردینروز جمهوری اسلامی ایران
  • ۱۲ فروردینروز جهانی کار و کارگر روز معلم ادت استاد مرتضی مطهری
  • ۱۳ فروردینروز طبیعت (سیزده‌به‌در)
  • ۱۶ فروردینروز جهانی محیط زیست ۵ الثانیة
  • ۱۷ فروردینروز اسناد ملی
  • ۱۹ فروردینشت شیخ کلینی روز بزرگدا روز جهانی صلیب سرخ و هلال احمر
  • ۲۰ فروردینادت امیر سپهبد علی صیاد شیرازی ۹ ۲ ۲۱ شنبه چهار ای روز ملی فناوری هسته
  • ۲۱ فروردینو روز پرستار و بهورز ت حضرت زینب سلام االله علیها ولاد ۱۱ ۵ ۲۲ شنبه یک
  • ۲۱ فروردینروز جهانی صنایع دستی
  • ۲۴ فروردینمیرزا حسن شیرازی االله لغو امتیاز تنباکو به فتوای آیت
  • ۲۷ فروردینالسلام ولادت حضرت امام حسن عسکری علیه
  • ۲۷ فروردینروز ارتباطات و روابط عمومی
  • ۲۸ فروردینزدایی روز جهانی بیابان
  • ۲۹ فروردینروز ارتش جمهوری اسلامی و نیروی زمینی االله علیها وفات حضرت معصومه سلام
  • ۳۰ فروردینالسلام به دست ایادی آمریکا رضا علیه انفجار در حرم حضرت امام
  • ۳۱ فروردینسالروز اعلام انقلاب فرهنگی تأسیس سپاه پاسداران انقلاب اسلامی
  • ۳۱ فروردینادت دکتر مصطفی چمران

راهنمای استفاده از داده‌های تقویم FarsiUI

با داده‌های تقویم FarsiUI می‌توانید بررسی کنید که یک روز تعطیل رسمی است یا چه مناسبت‌هایی دارد. نیازی به نصب پکیج یا راه‌اندازی سرور ندارید؛ کافی است فایل JSON موردنیاز را از طریق اینترنت دریافت کنید.

برای نصب همان UI تقویم (جدول ماه، مناسبت‌ها، ساعت و کارت تاریخ‌ها) در پروژهٔ خود:

terminal
npx farsiui@latest add iran-calendar

بعد از نصب، صفحه در /iran-calendar در دسترس است و فایل‌ها در components/iran-calendar/ قرار می‌گیرند.

در ادامه، فقط مصرف مستقیم فایل‌های JSON توضیح داده شده است. در این راهنما از سال ۱۴۰۵ به‌عنوان مثال استفاده می‌کنیم.

سال موردنظر را مشخص کنید

سال تقویم جلالی را انتخاب کنید؛ مثلاً 1405. این عدد در آدرس فایل‌های همان سال استفاده می‌شود.

فایل موردنیاز را انتخاب کنید

این سه فایل در دسترس است:

  • holidays.json — تعطیلات رسمی همان سال (ملی و مذهبی)
  • events.json — مناسبت‌های غیرتعطیل همان سال
  • meta.json — فهرست همهٔ سال‌های منتشرشده (برای کل مجموعه، نه فقط یک سال)

می‌توانید لینک هر فایل را در مرورگر باز کنید یا مستقیماً در کد خود از آن استفاده کنید.

فایل JSON را دریافت کنید

برای دریافت اطلاعات، از fetch استفاده کنید:

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 قرار دارد.

نمونه‌ای از یک آیتم:

item
{
  "id": "nature-day-1405",
  "date": "1405-01-13",
  "title": {
    "fa": "روز طبیعت",
    "en": "Nature Day"
  },
  "isHoliday": true,
  "categories": ["national"]
}

معنی فیلدها:

  • id: شناسه یکتای مناسبت
  • date: تاریخ شمسی به فرمت YYYY-MM-DD
  • title.fa: عنوان فارسی
  • title.en: عنوان انگلیسی
  • isHoliday: مشخص می‌کند این مناسبت تعطیل رسمی است یا نه
  • categories: دسته‌بندی مناسبت

ممکن است در یک روز چند مناسبت وجود داشته باشد؛ بنابراین برای پیدا کردن مناسبت‌های یک روز، تمام آیتم‌های مطابق با تاریخ را بررسی کنید.

تعطیلی یا مناسبت یک روز را پیدا کنید

اگر تاریخ شمسی روز موردنظر را دارید، آن را با فیلد date مقایسه کنید:

filter
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 خودتان احتیاجی نیست.
  • فایل‌های هر سال را فقط پس از انتشار و بررسی صحت داده‌ها استفاده کنید.
  • این داده‌ها برای تشخیص مناسبت‌ها و تعطیلات هستند؛ تبدیل تاریخ و محاسبهٔ روز هفته باید جداگانه انجام شود.

منبع اصلی داده‌ها، سایت رسمی مرکز تقویم دانشگاه تهران است.