Skip to content

abdulhalim/JalaliDateHelper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

🇮🇷 دستیار تاریخ شمسی (Jalali Date Helper) برای تایپ‌چو

Typecho Version License PHP

پلاگینی ساده و قدرتمند برای افزودن تابع تبدیل تاریخ میلادی به شمسی در قالب‌های تایپ‌چو


📋 فهرست مطالب


معرفی

پلاگین دستیار تاریخ شمسی یک ابزار کمکی برای قالب‌های تایپ‌چو است که تابع jalali_date را در دسترس قالب‌سازان قرار می‌دهد. با استفاده از این تابع می‌توانید هر تاریخ میلادی (تایم‌استمپ) را به تاریخ شمسی با فرمت دلخواه تبدیل کرده و نمایش دهید. نسخه ۱.۳ این پلاگین با افزودن پشتیبانی از منطقه زمانی، تنظیمات پیشرفته و بهبود کارایی تجربه‌ای حرفه‌ای‌تر را فراهم کرده است.


ویژگی‌های جدید در نسخه ۱.۳

پشتیبانی از منطقه زمانی (Timezone)

  • امکان فعال‌سازی و انتخاب منطقه زمانی از جمله تهران، کابل، دوشنبه و UTC.
  • تنظیم خودکار منطقه زمانی برای تمام تاریخ‌های نمایش داده شده و نظرات.

⚙️ تنظیمات پیشرفته در پنل مدیریت

  • فعال/غیرفعال کردن منطقه زمانی.
  • انتخاب منطقه زمانی از بین گزینه‌های پرکاربرد.
  • نمایش یا مخفی‌سازی ثانیه.
  • تعیین فرمت پیش‌فرض تاریخ (قابل تغییر در تابع).

🕒 پشتیبانی از نمایشگرهای زمان

  • نمایش ق.ظ / ب.ظ به جای AM/PM.
  • نمایش نام روزهای هفته به فارسی (مثلاً «شنبه»).
  • نمایش تک‌حرف روز هفته برای طراحی فشرده.

📦 سازگاری کامل با نظرات

  • اعمال منطقه زمانی بر روی زمان درج نظرات برای نمایش یکپارچه.

🔧 بهبود عملکرد و کاهش خطا

  • استفاده از کلاس DateTime برای مدیریت دقیق‌تر زمان.
  • بررسی معتبر بودن منطقه زمانی انتخاب شده.

نیازمندی‌ها

  • تایپ‌چو نسخه ۱.۲ یا بالاتر
  • PHP نسخه ۷.۲ یا بالاتر
  • تابع‌های تاریخ PHP (فعال در اکثر سرورها)

نصب

۱. فایل پلاگین را از صفحه انتشار دانلود کنید.
۲. محتویات پوشه JalaliDateHelper را در مسیر usr/plugins/JalaliDateHelper در هاست خود آپلود کنید.
۳. وارد پنل مدیریت تایپ‌چو شوید و به بخش کنترل پنل > پلاگین‌ها بروید.
۴. پلاگین دستیار تاریخ شمسی را فعال کنید.
۵. پس از فعال‌سازی، گزینه تنظیمات برای پیکربندی ظاهر می‌شود.


تنظیمات پلاگین

پس از فعال‌سازی، با کلیک روی تنظیمات در کنار نام پلاگین می‌توانید گزینه‌های زیر را شخصی‌سازی کنید:

گزینه توضیحات
فعال‌سازی منطقه زمانی با انتخاب «فعال»، منطقه زمانی انتخاب شده بر تمام تاریخ‌ها اعمال می‌شود.
منطقه زمانی انتخاب از بین تهران، کابل، دوشنبه یا UTC. در صورت تمایل می‌توانید منطقه دیگری را در کد اضافه کنید.
نمایش ثانیه اگر فعال باشد، ثانیه (s) در فرمت‌های حاوی ثانیه نمایش داده می‌شود.
فرمت پیش‌فرض تاریخ فرمت پیش‌فرضی که اگر در تابع jalali_date فرمت وارد نشود، از این مقدار استفاده می‌گردد. (پیش‌فرض: Y/m-d H:i)

نحوه استفاده در قالب

پلاگین یک تابع عمومی به نام jalali_date در اختیار قالب قرار می‌دهد. این تابع دو آرگومان دارد:

jalali_date( string $format [, int $timestamp = null ] ) : string
  • $format : رشته فرمت مشابه فرمت‌های date در PHP با اضافه شدن برخی کاراکترهای خاص (مطابق جدول پایین).
  • $timestamp (اختیاری) : یک تایم‌استمپ یونیکس. اگر وارد نشود، زمان فعلی (اکنون) در نظر گرفته می‌شود.

فرمت‌های پشتیبانی شده

این تابع از تمام کاراکترهای استاندارد date پشتیبانی می‌کند. علاوه بر آن، کاراکترهای ویژه زیر برای تاریخ شمسی اضافه شده‌اند:

کاراکتر توضیحات مثال
F نام کامل ماه فارسی فروردین
Y سال چهار رقمی شمسی ۱۴۰۴
y سال دو رقمی شمسی ۰۴
m ماه دو رقمی (با صفر) ۰۳
n ماه بدون صفر ۳
d روز دو رقمی (با صفر) ۰۵
j روز بدون صفر ۵
l نام کامل روز هفته فارسی سه‌شنبه
D تک‌حرف روز هفته (فقط حرف اول) س
H ساعت ۲۴ ساعته (با صفر) ۱۴
h ساعت ۱۲ ساعته (با صفر) ۰۲
i دقیقه (با صفر) ۳۰
s ثانیه (با صفر) – در صورت فعال بودن نمایش ثانیه ۱۵
A قبل از ظهر/بعد از ظهر (حروف بزرگ) ب.ظ
a قبل از ظهر/بعد از ظهر (حروف کوچک) ب.ظ

توجه: کاراکترهای A و a هر دو «ق.ظ» یا «ب.ظ» را برمی‌گردانند و تفاوتی در خروجی ندارند.


مثال‌های کاربردی

نمایش تاریخ انتشار پست

<?php echo jalali_date('d F Y', $this->date->timeStamp); ?>

خروجی: ۲۵ فروردین ۱۴۰۴

نمایش تاریخ با ساعت

<?php echo jalali_date('Y/m/d - H:i', $this->date->timeStamp); ?>

خروجی: ۱۴۰۴/۰۱/۲۵ - ۱۴:۳۰

نمایش روز هفته و نام ماه

<?php echo jalali_date('l, d F Y', $this->date->timeStamp); ?>

خروجی: سه‌شنبه، ۲۵ فروردین ۱۴۰۴

نمایش زمان کامنت

<?php echo jalali_date('j F Y در ساعت H:i', $this->date->timeStamp); ?>

خروجی: ۵ اردیبهشت ۱۴۰۴ در ساعت ۱۰:۱۵

نمایش تک‌حرف روز

<?php echo jalali_date('D', $this->date->timeStamp); ?>

خروجی: س (برای سه‌شنبه)


توسعه‌دهنده


تغییرات نسخه‌ها

نسخه ۱.۳ (۱۴۰۴)

  • افزودن پشتیبانی از منطقه زمانی با انتخاب از لیست پرکاربرد (تهران، کابل، دوشنبه، UTC)
  • اضافه شدن تنظیمات به پنل مدیریت (فعال‌سازی منطقه زمانی، نمایش ثانیه، فرمت پیش‌فرض)
  • پشتیبانی از نمایش «ق.ظ/ب.ظ» به جای AM/PM
  • اضافه شدن نام روزهای هفته به فارسی (l, D)
  • اعمال منطقه زمانی بر روی نظرات برای نمایش یکسان
  • بهبود عملکرد با استفاده از DateTime
  • رفع باگ‌های محاسباتی در سال‌های کبیسه

نسخه ۱.۰ (۱۴۰۴)

  • انتشار اولیه با قابلیت تبدیل پایه و نام ماه فارسی

مجوز

این پلاگین تحت مجوز GPLv3 منتشر شده است. شما می‌توانید آن را در پروژه‌های شخصی و تجاری خود استفاده و تغییر دهید. احترام به کپی‌رافت (Copyleft) و انتشار تغییرات تحت همین مجوز توصیه می‌شود.


Packages

 
 
 

Contributors

Languages