مهر زمانی و توابع ()time و ()mktime

منظور از مهر زمانی یا timestamp، یک سری اعداد ساده به صورت integer است .در یک توضیح جزئی تر ، این اعداد تعداد ثانیه هایی هستند که از نیمه شب ۱ ژوئن ۱۹۷۰ تا به این لحظه گذشته است . برای به دست آوردن تعداد این ثانیه ها در PHP توابعی وجود دارند که در زیر به آنها اشاره شده است.

 

تابع ()time

تابع ()time تعداد ثانیه هایی هستند که از نیمه شب ۱ ژوئن ۱۹۷۰ تا به این لحظه گذشته است را نشان می دهد. برای روشن شدن مطلب کد زیر را در یک فایل نوشته واجرا کنید:

<?php
    echo time();
?>

بعد از اجرای کد بالا عددی به صورت 1423333653 (البته ممکن است برای شما متفاوت باشد) نشان داده می شود که نشان دهنده تعداد ثانیه های گذشته شده از تاریخ مذکور تا الان است. حال چندین بار مرورگر را Refresh کنید. مشاهده می کنید که با هر بار Refresh مرورگر این رقم تغییر کرده و بیشتر می شود. با به کار بردن خروجی این تابع به عنوان پارامتر دوم در تابع ()date می توان یک تاریخ تولید کرد. به مثال زیر توجه کنید :

<?php
    $timeStamp = time();
    echo date("Y/m/d",$timeStamp);
?>
2015/02/07

تابع ()date تعداد ثانیه ها را به یک تاریخ خوانا تبدیل می کند.

 

تابع ()MKtime

تابع ()MKtime تعداد ثانیه های گذشته تا یک تاریخ خاص را بر می گرداند.دستور استفاده از این تابع به صورت زیر است :

mktime(hour,minute,second,month,day,year);

همانطور که در بالا مشاهده می کنید پارامترهای این تابع ساعت، دقیق، ثانیه، ماه، روز و سال است. مثلا برای به دست آوردن ثانیه های یک سال بعد از تاریخ مبداء (1970/01/01) کد زیر را نوشته و اجرا کنید :

<?php
    echo mktime(0,0,0,1,1,1971);
?>
31536000

چون اختلاف تاریخ بالا با تاریخ مبدا یک سال است در نتیجه عدد 31536000 به ما نشان داده می شود.

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