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

Date Helper توابعی برای تبدیل و نمایش تاریخ و زمان فراهم می‌کند. این توابع زمانی مفیدند که مقدار Timestamp، تاریخ MySQL یا تاریخ قابل نمایش برای کاربر را تبدیل کنید. منطقه زمانی برنامه را جداگانه تنظیم کنید تا تاریخ ذخیره‌شده و تاریخ نمایش داده‌شده با هم اشتباه نشوند.

کاربرد و توابع اصلی

توابع مهم شامل now()، mdate()، standard_date()، local_to_gmt()، gmt_to_local()، mysql_to_unix()، unix_to_human()، human_to_unix()، timespan() و days_in_month() هستند. nice_date() نیز برای نمایش خواناتر تاریخ کاربرد دارد.

نمونه استفاده

 $this->load->helper('date');
 $timestamp = mysql_to_unix('2026-11-12 14:30:00');
 echo mdate('%Y/%m/%d %H:%i', $timestamp);
 echo timespan($timestamp, now());

نکته مهم

ورودی را اعتبارسنجی کنید و خروجی را متناسب با محل نمایش Escape کنید. این Helper جایگزین کنترل دسترسی و سیاست امنیتی برنامه نیست.

مطالعه مرتبط

برای ادامه مطالعه، کوئری، SQL Injection را ببینید.

توابع Date Helper

متد یا مفهومکاربرد
now()Timestamp فعلی.
mdate()قالب‌بندی تاریخ با الگوی MySQL مانند.
mysql_to_unix()تبدیل تاریخ MySQL به Timestamp.
unix_to_human()تبدیل Timestamp به تاریخ خوانا.
gmt_to_local() و local_to_gmt()تبدیل منطقه زمانی.
timespan()نمایش فاصله زمانی.
days_in_month()تعداد روزهای ماه.

نکات استفاده در پروژه

Helperها معمولاً وضعیت داخلی نگه نمی‌دارند و برای تبدیل یا تولید مقدارهای کوچک مناسب‌اند. آن‌ها را فقط در Controller یا فایل‌های View بارگذاری نکنید، اگر در چند بخش برنامه استفاده می‌شوند می‌توانید در تنظیمات Autoload قرار دهید. در عین حال، بارگذاری همه Helperها به‌صورت سراسری ضرورتی ندارد و بهتر است وابستگی هر بخش روشن بماند.

در زمان استفاده، ورودی را از نظر نوع و محدوده بررسی کنید، خروجی HTML را متناسب با محل نمایش Escape کنید و مسیر فایل را از داده خام کاربر نسازید. اگر تابعی به دیتابیس، شبکه یا وضعیت Session وابسته است، آن رفتار دیگر یک Helper ساده نیست و بهتر است در Service یا Library مستقل قرار بگیرد.

در بازبینی کد، ترتیب و نتیجه متدهای now()، mdate()، mysql_to_unix()، unix_to_human() را بررسی کنید. نام متد به‌تنهایی تضمین نمی‌کند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.

سایر پست های داکیومنت