مستندات API تقویم فارسی رایگان

API تقویم فارسی امکانات جامعی برای دریافت تاریخ‌ها، تعطیلات و تبدیل تاریخ‌ها در تقویم فارسی فراهم می سازد. این مستندات به شرح کامل Api ها، پاسخ‌های مربوطه و مثال‌های ادغام می‌پردازد.

داده‌های تقویم به‌صورت پویا مدیریت می‌شوند و به‌صورت ماهانه به‌روزرسانی می‌شوند تا اطلاعات همواره دقیق و به‌روز باشند.

ناوبری سریع : فهرست سرویس‌ها | مدیریت خطاها | پکیج NuGet | رابط Swagger

فهرست سرویس‌ها

۱. دریافت تقویم سالانه

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/get-year/{year}

◗ توضیحات:
تمام تاریخ‌های یک سال شمسی مشخص را همراه با تعطیلات رسمی و توضیحات مربوط به آن‌ها بازمی‌گرداند.

◗ پارامترها:

نامنوعتوضیحات
yearعدد صحیحسال شمسی (مثال: ۱۴۰۳)

◗ پاسخ دریافتی : 

  {
    "data": [
      {
        "date": "1403/01/04",
        "shamsiDate": "1403/01/04",
        "isHoliday": true,
        "holidayDescription": "عیدنوروز"
      },
      {
        "date": "1403/01/05",
        "shamsiDate": "1403/01/05",
        "isHoliday": false,
        "holidayDescription": null
      },
      ...
    ],
    "totalCount": 365
  }

۲. بررسی تعطیل بودن تاریخ

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/{date}/is-holiday

◗ توضیحات:
مشخص می‌کند که آیا تاریخ شمسی وارد شده یک روز تعطیل رسمی است یا خیر (True/False).

◗ پارامترها:

نامنوعتوضیحات
dateرشتهتاریخ شمسی با قالب yyyyMMdd یا yyyy-MM-dd (مثال: ۱۴۰۳۰۱۰۱ یا ۱۴۰۳-۰۱-۰۱)

◗ پاسخ دریافتی:

true

۳. دریافت تعطیلات سالانه

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/{year}/holidays

◗ توضیحات:
تمامی تعطیلات رسمی مربوط به یک سال شمسی مشخص را همراه با توضیحات آن‌ها بازمی‌گرداند.

◗ پارامترها:

نامنوعتوضیحات
yearعدد صحیحسال شمسی (مثال: ۱۴۰۳)

◗ پاسخ دریافتی :

  {
    "data": [
      {
        "date": "1403/01/01",
        "shamsiDate": "1403/01/01",
        "isHoliday": true,
        "holidayDescription": "جشن نوروز/جشن سال نو"
      },
      {
        "date": "1403/01/02",
        "shamsiDate": "1403/01/02",
        "isHoliday": true,
        "holidayDescription": "عیدنوروز"
      },
      ...
    ],
    "totalCount": 365
  }

۴. دریافت روزهای کاری سال

◗ آدرس:
GET  https://api.persian-calendar.ir/api/v1/calendar/{year}/workdays

◗ توضیحات:
تمام روزهای کاری مربوط به یک سال شمسی مشخص را بازمی‌گرداند.

◗ پارامترها:

نامنوعتوضیحات
yearعدد صحیحسال شمسی (مثال: ۱۴۰۳)

◗ پاسخ دریافتی:

  {
    "data": [
      {
        "date": "1403/01/01",
        "shamsiDate": "1403/01/01",
        "isHoliday": true,
        "holidayDescription": "جشن نوروز/جشن سال نو"
      },
      {
        "date": "1403/01/02",
        "shamsiDate": "1403/01/02",
        "isHoliday": true,
        "holidayDescription": "عیدنوروز"
      },
      ...
    ],
    "totalCount": 365
  }

۵. دریافت تقویم ماهانه

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/get-month/{year}/{month}

◗ توضیحات:
تمام روزهای یک ماه مشخص از سال شمسی را به همراه تعطیلات و توضیحات مربوط به آن‌ها بازمی‌گرداند.

◗ پارامترها:

نامنوعتوضیحات
yearعدد صحیحسال شمسی (مثال: ۱۴۰۳)
monthعدد صحیحماه شمسی از ۰۱ تا ۱۲ (مثال: ۰۱)

◗ پاسخ دریافتی :

  {
    "data": [
      {
        "date": "1403/01/04",
        "shamsiDate": "1403/01/04",
        "isHoliday": true,
        "holidayDescription": "عیدنوروز"
      },
      {
        "date": "1403/01/05",
        "shamsiDate": "1403/01/05",
        "isHoliday": false,
        "holidayDescription": null
      },
      ...
    ],
    "totalCount": 365
  }

۶. بررسی کبیسه بودن سال

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/{year}/is-leap-year

◗ توضیحات:
یک مقدار Boolean بازمی‌گرداند که نشان می‌دهد آیا سال شمسی مورد نظر کبیسه است یا خیر.

◗ پارامترها:

نامنوعتوضیحات
yearعدد صحیحسال شمسی (مثال: ۱۴۰۳)

◗ پاسخ دریافتی :

true

۷. دریافت روزهای بین دو تاریخ

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/days-between/{startDate}/{endDate}

◗ توضیحات:
تعداد روزهای بین دو تاریخ شمسی مشخص شده را بازمی‌گرداند.

◗ پارامترها:

نامنوعتوضیحات
startDateرشتهتاریخ شروع شمسی (مثال: ۱۴۰۳۰۱۰۱)
endDateرشتهتاریخ پایان شمسی (مثال: ۱۴۰۳۰۲۰۱)

◗ پاسخ دریافتی:

  {
    "data": [
      {
        "date": "1403/01/01",
        "shamsiDate": "1403/01/01",
        "isHoliday": true,
        "holidayDescription": "عیدنوروز"
      },
      {
        "date": "1403/01/02",
        "shamsiDate": "1403/01/02",
        "isHoliday": false,
        "holidayDescription": null
      },
      ...
    ],
    "totalCount": 62
  }

۸. تبدیل تاریخ شمسی به میلادی

◗ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/convert-shamsi-to-miladi/{date}

◗ توضیحات:
تاریخ شمسی را به تاریخ میلادی معادل آن تبدیل می‌کند.

◗ پارامترها:

نامنوعتوضیحات
dateرشتهتاریخ شمسی با قالب yyyyMMdd (مثال: ۱۴۰۳۰۱۰۱)

◗ پاسخ دریافتی:

2025-04-11

۹. تبدیل تاریخ میلادی به شمسی

◖ آدرس :
GET  https://api.persian-calendar.ir/api/v1/calendar/convert-miladi-to-shamsi/{date}

◖ توضیحات :
تاریخ میلادی را به تاریخ شمسی معادل آن تبدیل می‌کند.

◗ پارامترها:

نامنوعتوضیحات
dateرشتهتاریخ میلادی با قالب yyyyMMdd (مثال: ۲۰۲۴۰۱۰۱)

◖ پاسخ دریافتی :

1403-01-01

خطا ها

◖ Bad Request 400 :

  {
    "message": "The provided date does not match the required format. Example: '1403'",
    "requiredFormat": "yyyy"
  }
     

◖ Too Many Requests 429 :

  {
     You can only make 10 request every 10 second.
  }

پکیج NuGet

شما می‌توانید از پکیج تقویم فارسی در NuGet.org استفاده کنید.

◖ نحوه استفاده :

  using Persian_Calendar;
  public string GetYearCalendar()
  {
    PCalendar calendar = new PCalendar();
    var result = calendar.YearCalendar("1403");
  }