کار با زمان در PHP

وقتی که در حال کد زدن با هر زبان برنامه نویسی هستید، کار با تاریخ ها و زمان اغلب یک کار معمول و ساده است.

خوشبختانه زبان PHP ابزارهای تاریخ و زمان قوی و خوبی را داراست و میتوان با کمک آنها با انواع مسائل مربوط به زمان سر و کله زد.

کار با زمان در زبان برنامه نویسی PHP

 

در این مقاله سعی داریم شما را با ساده ترین توابع و متدهای از پیش تعریف شده در زبان برنامه نویسی PHP برای کار با تاریخ و زمان آشنا کنیم.

زمان در سیستم های کامپیوتری Unix به صورت مقدار ثانیه های گذشته شده از ابتدای بامداد روز اول ژانویه سال ۱۹۷۰ (January 1, 1970, UTC) محاسبه و بررسی میشود.

 

تابع time() برای دریافت زمان یونیکس فعلی

تابع time() تعریف شده در زبان پی اچ پی هیچ ورودی خاصی دریافت نمیکند و به عنوان پاسخ، تعداد ثانیه های گذشته شده از لحظه مبدأ (اول ژانویه ۱۹۷۰) را به ما بازمیگرداند.

 

برای محاسبه زمان قابل فهم توسط انسان باید این تعداد ثانیه را با در نظر گرفتن تعداد ثانیه های هر سال، ماه، روز، ساعت و دقیقه محاسبه کنیم.

تابعی برای راحتی کار و انجام این تبدیلات در PHP به نام getdate() تعریف شده است.

تابع getdate() یک مقدار ورودی اختیاری از نوع زمان بندی یونیکس (Unix Timestamp) دریافت میکند و زمان و تاریخ معادل آن را به صورت یک آرایه باز میگرداند.

این ورودی دلخواه بوده و در صورتی که آنرا به تابع ندهیم، تابع، لحظه فعلی سیستم را در نظر گرفته و به ما پاسخ میدهد.

 

 

قالب بندی دلخواه برای نمایش زمان

زمان یونیکس را به راحتی میتوانید به رشته هایی در فرمت های مختلف تبدیل کنید که برای نمایش دادن و فهم انسان زیباتر و خواناتر باشند.

تابع date() در زبان PHP برای فرمت دهی و قالب بندی زمان استفاده میشود. این تابع یک آرگومان ورودی برای نحوه نمایش دریافت کرده و ورودی دوم آن که از نوع زمان بندی یونیکس است اختیاری می باشد.

 

مقدار آرگومان دوم تمام توابع فوق، به طور پیشفرض، از طریق time() تنظیم میشوند. در صورت نیاز میتوانیم مقدار مورد نظر خود را به آن ارسال کنیم.

 

فرمت دهی های مختلف و متعددی را میتوانید برای این تابع استفاده کنید. برای بررسی سایر کاراکترهای مجاز به استفاده در رشته فرمت دهی، میتوانید به مستندات مربوط به تابع date در سایت منبع PHP مراجعه کنید.

 

ایجاد زمان بندی یونیکس از یک تاریخ و زمان خاص

تا اینجای کار نحوه دریافت زمان سیستم و تبدیل آن به فرمت خاص و قابل فهم توسط انسان را یاد گرفته ایم. در ادامه بررسی میکنیم که چطور میتوان یک تاریخ و زمان خاص را به زمان بندی یونیکس تبدیل کرد.

تابع mktime() در زبان برنامه نویسی PHP برای تبدیل زمان انسانی به زمان Unix استفاده میشود.

این تابع چندین ورودی به صورت عددی (integer) دریافت میکند که هر ورودی مشخص کننده بخشی از زمان و تاریخ ما هستند. ترتیب و مقادیر ورودی تابع mktime() به صورت زیر است.

 

آخرین آرگومان این تابع به صورت اختیاری است و مشخص میکند که آیا ساعت تابستانه در زمان وارد شده تاثیر گذار بوده یا نه؛ مقدار ۱ به معنی تاثیرگذار بودن، ۰ عدم تاثیرگذاری و -۱ (مقدار پیشفرض در صورت عدم تعیین) به معنای نامشخص بودن این مسئله می باشد.

 

 

قطعه کد بالا چیزی مشابه کد زیر را اجرا میکند:

 

تابع mktime() اغلب مفید خواهد بود. برای مثال وقتی در حال کار با دیتابیس (پایگاه داده) هستیم، میتوانیم تمام مقادیر را به صورت عددی و در حالت Unix Timestamp ذخیره کنیم.

وقتی کاربر بخواهد در یک محدوده زمانی خاص جستجویش را روی رکوردهای اطلاعاتی انجام دهد، میتوانیم با تبدیل کردن تاریخ و زمان ابتدا و انتها دوره به زمان یونکیس، به راحتی جستجوی خود را در دیتابیس انجام دهیم.

 

در این مقاله سعی شد برخی از توابع کاربردی برای کار با زمان و تاریخ در زبان برنامه نویسی PHP معرفی و بررسی شوند. امیدواریم مورد استفاده قرار گیرد.



[ برچسب ها ] : , , , , ,
ارسال شده در : بخش کامپیوتر
نظر شما در مورد اين پست چيست ؟

دیدگاه خود را به ما بگویید.

 
 
  دکتری تخصصی برق الکترونیک
طراح مدارهای الکترونیکی
برنامه نویس انواع میکروها
مشاوره و اجرای لینک های وایرلس
پیاده سازی سیستم های مبتنی بر شبکه
E_mail: electronic@sabzelco.ir
Tel: 09150462401
توسعه دهنده برنامه های سمت سرور

طراحی و برنامه نویسی سایت و پرتال های حرفه ای

E_mail: computer@sabzelco.ir
Tel: 09371974233