نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • اهن
  • زمان سرور Php فعلی است. اسکریپت اول PHP: نمایش تاریخ و زمان

زمان سرور Php فعلی است. اسکریپت اول PHP: نمایش تاریخ و زمان

بیایید به برخی از کدهای یک صفحه وب واقعی نگاه کنیم و اولین اسکریپت php خود را ایجاد کنیم، یعنی تاریخ و زمان فعلی را در سایت خود نمایش دهیم. این سناریو اغلب در سایت ها استفاده می شود و فکر می کنم برای بسیاری مفید باشد.

بیایید یک فایل php دیگر ایجاد کنیم و نام آن را time.php بگذاریم. اگر فراموش کردید تکرار کنید، ما قبلا مطالعه کردیم.

بنابراین ما فایل time.php را ایجاد کردیم و این فایل را در پوشه myphp که قبلا ایجاد شده بود در قرار دادیم. ما این موضوع را در درس مطالعه کردیم.

کد فایل time.php و بین تگ ها را باز کنید وما کد زیر را تجویز می کنیم فهرست 1:

فهرست 1.

امروز:

زمان فعلی

ما سرور محلی را راه اندازی می کنیم، آدرس را در نوار آدرس مرورگر تایپ می کنیم http: //localhost/myphp/time.phpو Enter را فشار دهید. و ما این تصویر را می بینیم:

توجه شما را به این نکته جلب می کنم که در این حالت زمان سرور فعلی نمایش داده می شود.آن ها اگر، برای مثال، سروری که سایت شما در آن "زندگی می کند" در کشور دیگری قرار دارد و زمان فعلی با زمان مسکو متفاوت است، مقدار زمانی نمایش داده شده نیز با زمان مسکو متفاوت خواهد بود.

بیایید نگاهی به کد بیندازیم فهرست کردن 1. برچسب های متنی ساده " امروز"و" زمان فعلی"توسط پیش پردازنده PHP پردازش نمی شوند و به صورت نمایش داده می شوند" است. "به جای این ورودی ها، می توانید هر متنی را بنویسید، برای مثال، فقط تاریخیا زمانو غیره.

و در اینجا کد php محصور در توصیفگرها استPHP قبل از ارسال به مرورگر پردازش می شود.

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

بیانیه پژواک - ترجمه به کنار کشیدن، در این مورد به معنای نمایش بر روی صفحه نمایشگر است تاریخو زمان سرور.

همین نتیجه (نمایش در مرورگر) را می توان با قرار دادن کل اسکریپت در داخل توصیفگرهای PHP به دست آورد. نگاه کن لیست 2:

لیست 2.

echo "امروز:"؛
تاریخ اکو ("j F Y")؛
اکو "زمان فعلی"؛
تاریخ اکو ("H: i: s")؛
?>

تمام عناصر متنی که برای خروجی در نظر گرفته شده اند باید در علامت نقل قول قرار داده شوند. رشته های متن را می توان در هر دو نقل قول تکی و دوگانه محصور کرد، تفاوت بعداً مورد بحث قرار خواهد گرفت. ورودی های:

پژواک "امروز"؛

پژواک "امروز"؛

کاملاً معادل هستند و یکسان ظاهر می شوند.

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

برای نمایش تاریخ و زمان در سایت، کد را وارد کنید فهرست 1یا لیست 2به مکان مناسب در صفحه وب خود بروید. برای دادن سبک کلی به کتیبه ها (تاریخ و ساعت) از طراحی سایت می توانید استفاده کنید.

P.S. اجازه دهید به شما یادآوری کنم که فایلی که درج های PHP را در آن قرار می دهید باید پسوند php. داشته باشد و علاوه بر این، میزبانی که سایت شما در آن "زندگی می کند" باید از PHP پشتیبانی کند (امروزه تقریباً تمام این موارد است.

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

تاریخ و زمان PHP

در سیستم های توزیع شده مانند اینترنت، زمان نقش ویژه ای دارد. به دلیل اختلاف جزئی در ساعت سیستم، یک بازیکن در بازار فارکس می تواند ده ها هزار دلار را در چند دقیقه از دست بدهد. سیستم هوش تجاری در پیش بینی اشتباه خواهد کرد. سرورهای NNTP در فرآیند همگام سازی اطلاعات مهم مورد نیاز کاربر و غیره را از دست خواهند داد. PHP دارای توابع زیادی برای کار با تاریخ و زمان است. متداول ترین آنها عبارتند از:

- زمان مطلق فعلی را برمی گرداند. این عدد برابر است با تعداد ثانیه هایی که از نیمه شب اول ژانویه 1970 (از آغاز عصر یونیکس) گذشته است.

- اطلاعات مربوط به تاریخ و زمان را می خواند. یک آرایه انجمنی حاوی اطلاعات برای زمان مشخص شده یا برای زمان فعلی (به طور پیش فرض) را برمی گرداند. آرایه شامل عناصر زیر است:

مثال 1

استفاده از getdate () // از زمان فعلی استفاده کرد foreach ($d به عنوان $ key => $ val) echo " کلید $ = $ val
"
; اکو "


امروز: $ d. $ D. $ D "; ?>

نتیجه 1

ثانیه = 21 دقیقه = 4 ساعت = 12 روز = 10 روز = 4 دوشنبه = 11 سال = سال 2005 روز = 313 روز هفته = پنجشنبه ماه = نوامبر 0 = 1131613461 امروز: 1384/10/11

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

آ
آ شامل نام "AM" یا "PM"
د روز ماه (01-31)
دی نام اختصاری روز هفته (سه حرف)
اف نام ماه کامل
g ساعت (قالب 12 ساعته بدون صفرهای ابتدایی)
جی ساعت ها (قالب 24 ساعته بدون صفرهای ابتدایی)
ساعت ساعت (فرمت 12 ساعت)
اچ ساعت (فرمت 24 ساعته)
من دقیقه (00-59)
j روز ماه بدون صفرهای اول (1-31)
ل نام کامل روز هفته
L سال کبیسه (0 یا 1)
متر ماه (01-12)
م نام مختصر ماه (سه حرف)
n ماه (1-12)
س ثانیه (00-59)
تی تعداد روزهای یک ماه معین (28 تا 31)
U زمان مطلق
w
y سال (دو رقمی)
Y سال (چهار رقمی)
z روز سال (0-365)
ز افست منطقه زمانی بر حسب ثانیه (43200- تا 43200)

هر اطلاعات دیگری که در رشته فرمت گنجانده شده است در رشته برگشتی درج می شود. اگر می خواهید کاراکترهایی را به رشته قالب اضافه کنید که به خودی خود کدهای قالب هستند، باید قبل از آنها علامت بک اسلش "\" قرار دهید. نویسه هایی که با اضافه کردن یک اسلش به کدهای قالب تبدیل می شوند، باید قبل از آنها دو اسلش به جلو قرار گیرند. به عنوان مثال، اگر می خواهید "n" را به یک رشته اضافه کنید، "\\ n" را وارد کنید زیرا "\ n" یک کاراکتر خط جدید است.

مثال 2

استفاده از تاریخ ()

نتیجه 2

امروز: 10.11.05 13:03

- زمان مطلق را برمی گرداند، که سپس می تواند با توابع استفاده شود تاریخ () تاریخ گرفتن ()... حداکثر شش آرگومان عدد صحیح را به ترتیب زیر می پذیرد:

  1. دقایق
  2. ثانیه
  3. ماه
  4. ماه ها

مثال 3

استفاده از mktime () \\ t g.i a, l ", mktime (13, 30, 0, 1, 22, 1971)); ?>

نتیجه 3

- بررسی صحت تاریخ استدلال: ماه، روز، سال. اگر تاریخ درست باشد، true برمی‌گرداند، یعنی.

  1. ماه - یک عدد صحیح از 1 تا 12؛
  2. روز یک عدد صحیح است که از تعداد کل روزهای یک ماه تجاوز نمی کند. در این مورد، سال های کبیسه به درستی مدیریت می شوند.
  3. سال یک عدد صحیح از 1 تا 32767 است.

مثال 4

اگر (! تاریخ بررسی ($ ماه، 1، $ سال)) ($ d = getdate (؛ $ month = $ d [ماه]؛ $ سال = $ d [سال]؛)

توجه! تاریخ می تواند در یک محدوده معتبر باشد، اما سایر توابع تاریخ این مقدار را نمی پذیرند. بنابراین، شما نمی توانید استفاده کنید mktime ()برای سال‌های قبل از 1902، و همچنین باید برای سال‌های قبل از 1970 به میزان کم استفاده شود.

- تشکیل تاریخ و زمان محلی آرگومان ها: رشته فرمت و زمان مطلق. آرگومان دوم اختیاری است. رشته ای را با تاریخ مشخص یا فعلی در قالب مشخص شده برمی گرداند. در این حالت، نام ماه ها و روزهای هفته از محلی که با استفاده از تابع انتخاب شده است استخراج می شود مکان یابی ()
رشته قالب می تواند حاوی کدهای زیر باشد:

٪ آ نام اختصاری روز هفته
٪ آ نام کامل روز هفته
% b نام مختصر ماه
% B نام ماه کامل
% ج فرمت ترجیحی تاریخ و زمان
% C عدد قرن
% d روز ماه (1-31)
% D مثل % m /% d /% y
% e ماه (1-12)
% h مثل % b
% H ساعت (فرمت 24 ساعته)
٪ من ساعت (فرمت 12 ساعت)
% j روز سال (0-365)
% m ماه (1-12)
% M دقایق
% n کاراکتر خط جدید
٪ پ نماد "AM" یا "PM" گنجانده شده است
% r زمان با استفاده از نماد a.m./p.m
% R زمان در قالب 24 ساعته
% S ثانیه (00-59)
% t کاراکتر برگه
% T مثل % H:% M:% S
% u شماره روز هفته (1 - دوشنبه، 7 - یکشنبه)
% U شماره هفته شمارش معکوس از اولین یکشنبه سال شروع می شود
% V ISO 8601: شماره هفته 1988. هفته اول باید حداقل چهار روز باشد و دوشنبه اولین روز در نظر گرفته می شود
% W شماره هفته شمارش معکوس از اولین دوشنبه سال شروع می شود
% w شماره روز هفته (0 - یکشنبه، 6 - شنبه)
٪ ایکس قالب تاریخ ترجیحی بدون زمان
٪ ایکس قالب زمان ترجیحی بدون تاریخ
% y سال (دو رقمی)
% Y سال (چهار رقمی)
% Z منطقه زمانی (نام یا مخفف)
%% نماد "٪"

هر اطلاعات دیگری که در رشته فرمت گنجانده شده است در رشته برگشتی درج می شود.

مثال 5

استفاده از strftime () % d% B% Y% H:% M
" ) error_reporting (E_ALL & ~ E_WARNING)؛ setlocale ("LC_ALL"، "")؛ echo strftime ("امروز% A % d% B% Y% X
"
) echo strftime ("% Z
" ) ; ?>

جاوا اسکریپت در مرورگر شما مسدود شده است. لطفا جاوا اسکریپت را فعال کنید تا سایت کار کند!

نمایش تاریخ و زمان

در سیستم های توزیع شده مانند اینترنت، زمان نقش ویژه ای دارد. به دلیل اختلاف جزئی در ساعت سیستم، یک بازیکن در بازار فارکس می تواند ده ها هزار دلار را در چند دقیقه از دست بدهد. سیستم هوش تجاری در پیش بینی اشتباه خواهد کرد. سرورهای NNTP در فرآیند همگام سازی اطلاعات مهم مورد نیاز کاربر و غیره را از دست خواهند داد.

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

  • زمان ()- زمان مطلق فعلی را برمی گرداند. این عدد برابر است با تعداد ثانیه هایی که از نیمه شب اول ژانویه 1970 (از آغاز عصر یونیکس) گذشته است.
  • تاریخ گرفتن ()- اطلاعات مربوط به تاریخ و زمان را می خواند. یک آرایه انجمنی حاوی اطلاعات برای زمان مشخص شده یا برای زمان فعلی (به طور پیش فرض) را برمی گرداند. آرایه شامل عناصر زیر است:

    مثال 1

    استفاده از getdate () $ val) echo "$ key = $ val
    "؛ پژواک"
    امروز: $ d. $ D. $ D ";?>

    نتیجه مثال 1:

    ثانیه = 21 دقیقه = 4 ساعت = 12 روز = 10 روز = 4 دوشنبه = 11 سال = 2005 روز = 313 روز هفته = پنجشنبه ماه = نوامبر 0 = 1131613461 امروز: 11/10/2005

  • تاریخ ()- قالب بندی تاریخ و زمان آرگومان ها: رشته فرمت و زمان مطلق. آرگومان دوم اختیاری است. رشته ای را با تاریخ مشخص یا فعلی در قالب مشخص شده برمی گرداند. رشته قالب می تواند حاوی کدهای زیر باشد:
    آ
    آشامل نام "AM" یا "PM"
    دروز ماه (01-31)
    دینام اختصاری روز هفته (سه حرف)
    افنام ماه کامل
    gساعت (قالب 12 ساعته بدون صفرهای ابتدایی)
    جیساعت ها (قالب 24 ساعته بدون صفرهای ابتدایی)
    ساعتساعت (فرمت 12 ساعت)
    اچساعت (فرمت 24 ساعته)
    مندقیقه (00-59)
    jروز ماه بدون صفرهای اول (1-31)
    لنام کامل روز هفته
    Lسال کبیسه (0 یا 1)
    مترماه (01-12)
    منام مختصر ماه (سه حرف)
    nماه (1-12)
    سثانیه (00-59)
    تیتعداد روزهای یک ماه معین (28 تا 31)
    Uزمان مطلق
    w
    yسال (دو رقمی)
    Yسال (چهار رقمی)
    zروز سال (0-365)
    زافست منطقه زمانی بر حسب ثانیه (43200- تا 43200)

    هر اطلاعات دیگری که در رشته فرمت گنجانده شده است در رشته برگشتی درج می شود. اگر می خواهید کاراکترهایی را به رشته قالب اضافه کنید که به خودی خود کدهای قالب هستند، باید قبل از آنها علامت بک اسلش "\" قرار دهید. نویسه هایی که با اضافه کردن یک اسلش به کدهای قالب تبدیل می شوند، باید قبل از آنها دو اسلش به جلو قرار گیرند. به عنوان مثال، اگر می خواهید "n" را به یک رشته اضافه کنید، "\\ n" را وارد کنید زیرا "\ n" یک کاراکتر خط جدید است.

    مثال 2

    استفاده از تاریخ ()

    نتیجه مثال 2:

    امروز: 10.11.05 13:03

  • mktime ()- زمان مطلق را برمی گرداند، که سپس می تواند با توابع تاریخ () یا getdate () استفاده شود. حداکثر شش آرگومان عدد صحیح را به ترتیب زیر می پذیرد:

    ساعت
    دقایق
    ثانیه
    ماه
    روز ماه
    سال

    مثال 3

    استفاده از mktime ()

    نتیجه مثال 3:

  • تاریخ بررسی ()- بررسی صحت تاریخ استدلال: ماه، روز، سال. اگر تاریخ درست باشد، true برمی‌گرداند.
    ماه - یک عدد صحیح از 1 تا 12؛
    روز یک عدد صحیح است که از تعداد کل روزهای یک ماه تجاوز نمی کند. در این مورد، سال های کبیسه به درستی مدیریت می شوند.
    سال یک عدد صحیح از 1 تا 32767 است.

    برای مثال:

    اگر (! Checkdate ($ ماه، 1، $ سال)) ($ d = getdate (؛ $ month = $ d؛ $ سال = $ d؛)

    توجه! تاریخ می تواند در یک محدوده معتبر باشد، اما سایر توابع تاریخ این مقدار را نمی پذیرند. بنابراین، شما نمی توانید از mktime () برای سال های قبل از 1902 استفاده کنید، و همچنین باید آن را برای سال های قبل از 1970 با دقت استفاده کنید.

  • strftime ()- تشکیل تاریخ و زمان محلی آرگومان ها: رشته فرمت و زمان مطلق. آرگومان دوم اختیاری است. رشته ای را با تاریخ مشخص یا فعلی در قالب مشخص شده برمی گرداند. در این حالت، نام ماه ها و روزهای هفته از محلی که با استفاده از تابع رشته Format انتخاب شده است استخراج می شود که می تواند حاوی کدهای زیر باشد:
    ٪ آنام اختصاری روز هفته
    ٪ آنام کامل روز هفته
    % bنام مختصر ماه
    % Bنام ماه کامل
    % جفرمت ترجیحی تاریخ و زمان
    % Cعدد قرن
    % dروز ماه (1-31)
    % Dمثل % m /% d /% y
    % eماه (1-12)
    % hمثل % b
    % Hساعت (فرمت 24 ساعته)
    ٪ منساعت (فرمت 12 ساعت)
    % jروز سال (0-365)
    % mماه (1-12)
    % Mدقایق
    % nکاراکتر خط جدید
    ٪ پنام "am" یا "pm" گنجانده شده است
    % rزمان با استفاده از نماد a.m./p.m
    % Rزمان در قالب 24 ساعته
    % Sثانیه (00-59)
    % tکاراکتر برگه
    % Tمثل % H:% M:% S
    % uشماره روز هفته (1 - دوشنبه، 7 - یکشنبه)
    % Uشماره هفته شمارش معکوس از اولین یکشنبه سال شروع می شود
    % VISO 8601: شماره هفته 1988. هفته اول باید حداقل چهار روز باشد و دوشنبه اولین روز در نظر گرفته می شود
    % Wشماره هفته شمارش معکوس از اولین دوشنبه سال شروع می شود
    % wشماره روز هفته (0 - یکشنبه، 6 - شنبه)
    ٪ ایکسقالب تاریخ ترجیحی بدون زمان
    ٪ ایکسقالب زمان ترجیحی بدون تاریخ
    % yسال (دو رقمی)
    % Yسال (چهار رقمی)
    % Zمنطقه زمانی (نام یا مخفف)
    %% نماد "٪"

    هر اطلاعات دیگری که در رشته فرمت گنجانده شده است در رشته برگشتی درج می شود.

بدیهی است که اغلب برنامه نویسان مجبورند با تاریخ و زمان کار کنید... ساده ترین مثال تاریخ و ساعت ارسال پیام در انجمن است. و البته، چنین چیزهایی را می توان در مورد تحقق بخشید PHP، به خصوص از آنجایی که امکانات برای کار با تاریخ و زمان در PHPبسیاری از

تابع اساسی مرتبط با تاریخ و زمان در PHP، - آی تی تابع زمان ()که تعداد ثانیه های سپری شده از آن زمان را برمی گرداند نیمه شب 01/01/1970(آغاز دوران یونیکس):

زمان اکو ();
?>

با اجرای این اسکریپت متوجه می شوید که چند ثانیه از آن زمان گذشته است نیمه شب 01/01/1970تا تماس زمان () توابعدر فیلمنامه شما

البته علاوه بر این تابع اولیه که در تمامی زبان های برنامه نویسی که می توانید وجود دارد با تاریخ و زمان کار کنید(حداقل در بین کسانی که من می شناسم) تابع دیگری به نام وجود دارد تاریخ گرفتن ():

$ datetime = getdate ();
foreach ($ datetime به عنوان $ k => $ v)
پژواک "$ k - $ v
";
?>

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

$ datetime = getdate ();
echo $ datetime ["ساعت"]. ":". $ datetime ["دقیقه"]. ":". $ datetime ["ثانیه"];
?>

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

$ datetime = getdate (152353232)؛
echo $ datetime ["سال"];
?>

در نتیجه خواهید دید سال 1974سال

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

تاریخ اکو ("امروز d.m.Y H: i: s" است)؛
?>

در نتیجه چیزی شبیه به این خواهید دید: " امروز 1389/11/15 21:44:24". همچنین داشته باشید توابع تاریخ ()همچنین یک پارامتر اختیاری دوم وجود دارد که تنظیم می شود مهر زمانی، فقط آن مقدار برابر با تعداد ثانیه های سپری شده از آن است نیمه شب 01/01/1970... مثالی از استفاده از پارامتر دوم:

echo date ("روزی روزگاری d.m.Y H: i: s" بود، 5393235329);
?>

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

echo gmdate ("اکنون در گرینویچ D M j H: i: s T Y")
?>

در نتیجه چیزی شبیه به زیر خواهید دید: دوشنبه 15 نوامبر 18:52:45 GMT 2010البته، تاریخ متفاوتی نمایش داده می شود، اما در قالبی مشابه. همچنین اکیداً توصیه می کنم که وارد فهرست راهنمای شوید و فقط با سایر عناصر تاریخ و زمان در آن آشنا شوید. PHP(من فقط یک سوم را دادم)، از آنجا که توابع date () و gmdate ()- این ساده ترین و سریع ترین راه است تاریخ و زمان را دریافت کنیدتقریبا در هر قالبی

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

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

در PHP، کار با تاریخ اغلب با TIMESTAMP UNIX تداخل دارد. زمان در اینجا به عنوان یک عدد صحیح ذخیره می شود. زمان از 1 ژانویه 1970 شروع می شود. بنابراین به عنوان مثال تاریخ و زمان 12/11/2014 ساعت 19:40:00 با عدد 1418316000 نشان داده خواهد شد. .

نمونه ای از صفحه php که قابلیت تبدیل داده ها را فراهم می کند در قسمت برنامه برنامه "تبدیل فرمت تاریخ و زمان" در سایت ارائه شده است. در اینجا می توانید تاریخ مورد نظر را در قالب UNIX TIMESTAMP تشکیل دهید و همچنین این قالب را به شکلی استاندارد و قابل خواندن توسط انسان بیاورید.

دریافت زمان و تاریخ فعلی در PHP

برای دریافت زمان فعلی سرور، از تابع استفاده کنید

int time (باطل)

که فقط مقدار را در قالب timestamp یونیکس برمی گرداند.

زمان اکو (); // نمایش زمان فعلی در قالب timestamp یونیکس

در نگاه اول، این یک قالب خیلی راحت برای یک فرد نیست، اما، همانطور که می دانید، هرچه ارائه داده ها ساده تر باشد، پردازش این مقادیر توسط رایانه سریعتر می شود. علاوه بر این، ذخیره یک عدد در پایگاه داده بسیار مقرون به صرفه تر از هر فرمت خاص است. همچنین، PHP در طول زمان به صورت یکسان در هر دو پلتفرم یونیکس و ویندوز کار می کند که استفاده از کد را در هر یک از این پلتفرم ها ممکن می سازد.

تبدیل فرمت تاریخ و زمان در PHP

ساده ترین مکانیسم برای تبدیل یک مقدار تاریخ عددی به مقادیر معنی دار تر توسط یک تابع ارائه می شود:

آرایه getdate ()

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

آرایه به دست آمده به شما امکان می دهد مقادیر را به شکل دلخواه نمایش دهید:

تاریخ $ = 1418372345;
$ date_mas = getdate ($ date);
echo $ date_mas ["mday"]. "." $ date_mas ["mon"]. "." $ date_mas ["سال"]; // 12.12.2014


همچنین می توانید از تابع برای تبدیل فرمت تاریخ و زمان استفاده کنید:

تاریخ رشته (رشته $ الگو [, int $ unix_timestamp])

برای دریافت تاریخ مهر زمانی یونیکس فعلی در قالب مورد نیاز طراحی شده است. پارامتر رشته الگوی $ قالب خروجی را مشخص می کند. پارامتر unix_timestamp $ را می توان برای تنظیم مقدار زمان برای کار با آن استفاده کرد. اختیاری است، بنابراین اگر آن را مشخص نکنید، از تاریخ و زمان فعلی استفاده می شود.

فرمت با مقادیر زیر مشخص می شود:

آ"قبل" و "بعد" ظهر: "آم" یا "بعد از ظهر"
آ"قبل" و "بعد از ظهر" با حروف بزرگ: "AM" یا "PM"
دروز ماه در 2 رقم (اگر کمتر از 10 باشد، در وهله اول صفر) (از 01 تا 31)
دیروز هفته در 3 حرف به عنوان مثال، "Mon" (دوشنبه)
jروز ماه، 1-2 رقم بدون صفرهای ابتدایی (از 1 تا 31)
افنام ماه برای مثال، "ژانویه"
ساعتفرمت ساعت، 12 ساعت (01 تا 12)
اچفرمت ساعتی، 24 ساعته (00 تا 23)
gفرمت ساعتی 12 ساعته بدون صفر (1 تا 12)
جیفرمت ساعتی و 24 ساعته بدون صفر (0 تا 23)
مندقیقه (00 تا 59)
I (بزرگ I)1، اگر ساعت تابستانی در حال اجرا باشد، در غیر این صورت 0
L1 اگر سال کبیسه است، یا 0 اگر سال کبیسه نیست
بزمان در قالب زمان اینترنت (ساعت متناوب روز) (000 تا 999)
تیمنطقه زمانی کامپیوتر به عنوان مثال MDT
l (حروف کوچک L)روز هفته. به عنوان مثال، "دوشنبه"
مترماه، دو رقم به دنبال صفر (01 تا 12)
nماه، یک یا دو رقم بدون صفر (از 1 تا 12)
منام اختصاری ماه مثلا "جان"
تیتعداد روزهای ماه مشخص شده (از 28 تا 31)
سثانیه (0 تا 59)
اسپسوند ترتیبی یک عدد دو حرفی به زبان انگلیسی ("st"، "nd"، "rd" یا "th")
Uتعداد صحیح ثانیه از آغاز عصر یونیکس
yسال، عددی، 2 رقمی (14)
Yسال، عددی، 4 رقمی (2014)
zعدد ترتیبی یک روز در سال (از 0 تا 365)
زمخلوط کردن منطقه زمانی در ثانیه (از -43200 تا 43200)
نشماره ترتیبی روزهای هفته از 1 (دوشنبه) تا 7 (یکشنبه) مطابق با استاندارد ISO-8601، (اضافه شده در PHP 5.1.0)
wشماره متوالی روز هفته از 0 (یکشنبه) تا 6 (شنبه)
دبلیوشماره ترتیبی هفته سال مطابق با استاندارد ISO-8601؛ هفته ها از دوشنبه شروع می شوند (در PHP 4.1.0 اضافه شده است)
oشماره سال مطابق استاندارد ISO-8601. همان معنای Y را دارد، مگر اینکه عدد ISO هفته (W) در سال قبل یا سال بعد باشد. سپس از سال آن هفته استفاده خواهد شد. (اضافه شده در PHP 5.1.0)
هکد منطقه زمانی به عنوان مثال: UTC، GMT، Atlantic / Azores (اضافه شده در PHP 5.1.0)
Oتفاوت از GMT، در ساعت. به عنوان مثال: +0200
پتفاوت از GMT با دو نقطه بین ساعت و دقیقه. به عنوان مثال: +02: 00 (اضافه شده در PHP 5.1.3)
جتاریخ در قالب ISO 8601. به عنوان مثال، 2014-12-12T15: 19: 21 + 00: 00 (اضافه شده در PHP 5)
rتاریخ در قالب "RFC 2822. به عنوان مثال: پنجشنبه، 21 دسامبر 2000 16:01:07 +0200
Uتعداد ثانیه از آغاز عصر یونیکس (عصر یونیکس، 1 ژانویه 1970 ساعت 00:00:00 GMT)

همانطور که از لیست می بینید، داده های تاریخ مفید زیادی وجود دارد که می توان با استفاده از این تابع به دست آورد. برای مثال:

تاریخ $ = 1418372345; // تاریخ و ساعت اصلی 12.12.2014 11:19:05

تاریخ اکو ("d.m.Y"، $ date)؛ // 12.12.2014 (تاریخ)
تاریخ اکو ("H: i: s"، تاریخ $)؛ // 11:19:05 (زمان)
تاریخ پژواک ("H: i"، تاریخ $)؛ // 11:19 (زمان)
تاریخ پژواک ("t"، تاریخ $)؛ // 31 (تعداد روز در ماه)
تاریخ اکو ("z"، تاریخ $)؛ // 345 (تعداد ترتیبی روز در سال)
تاریخ پژواک ("l dS \ از F Y h: i: s A"، تاریخ $); // جمعه 12 آذر 1393 11:19:05 ق.ظ

سایر کاراکترهای گنجانده شده در الگو بر روی خط همانطور که هست نمایش داده می شوند. اگر نیاز به وارد کردن کاراکتری دارید که به عنوان کد قالب در تابع استفاده می شود، یک کاراکتر "\" در جلوی آنها درج می شود. برای مقدار "\ n" (نویسه خط جدید)، "\\ n" را مشخص کنید. بنابراین، می توانید خروجی یک پیام کامل حاوی اطلاعات مربوط به تاریخ و زمان را ترسیم کنید:

تاریخ پژواک ( "امروز z-امین روز سال Y است"، تاریخ $)؛ // امروز سیصد و چهل و پنجمین روز سال 2014 است

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

برای تبدیل تاریخ از قالب استاندارد به مقدار مهر زمانی عددی، از تابع استفاده کنید:

int mktime (]]]]]]

تابع mktime () مقدار زمان یونیکس را مطابق با تاریخ و زمان مشخص شده در آرگومان ها برمی گرداند. برای مثال:

$ my_date = mktime (10، 30، 0، 12، 12، 2014)؛

باید مراقب ترتیب آرگومان های تابع باشید: ساعت، دقیقه، ثانیه، ماه، روز، سال.

علاوه بر ایجاد یک مقدار تاریخ در مهر زمانی، تابع mktime () می تواند برای محاسبات تاریخ استفاده شود. برای این کار به سادگی می توانید آرگومان های مورد نیاز را وارد کنید. به عنوان مثال، اگر ماه 14 را مشخص کنید، در مقدار کل، ماه دوم خواهد بود و ارزش سال یک افزایش می یابد:

$ my_day = 12;
$ my_month = 12;
$ my_year = 2014;

$ new_date = mktime (0، 0، 0، $ my_month + 5، $ my_day، $ my_year)؛

تاریخ اکو ("d.m.Y"، $ new_date)؛ // 05/12/2015 (تاریخ)

شما می توانید همین کار را با سایر پارامترها انجام دهید.

اعتبارسنجی تاریخ PHP

هنگام کار با تاریخ ها، به خصوص هنگام تشکیل تاریخ با استفاده از تابع mktime () بالا، لازم است صحت تاریخ وارد شده را در نظر بگیرید. برای انجام این کار، PHP از تابع زیر استفاده می کند:

تاریخ بررسی bool (ماه بین‌المللی، روز بین‌المللی، سال بین‌المللی)

اگر تاریخ ارائه شده در آرگومان ها صحیح باشد، true را برمی گرداند. در غیر این صورت false برمی گردد. تاریخ صحیح در نظر گرفته می شود اگر:

سال در محدوده 1 تا 32767;

ماه در محدوده 1 تا 12؛

روز برای ماه معین، با احتساب سال کبیسه، صحیح است.

نمونه بررسی تاریخ:

$ my_day = 32;
$ my_month = 12;
$ my_year = 2014;

اگر (! تاریخ بررسی ($ my_month، $ my_day، $ my_year))
اکو "خطا: تاریخ به اشتباه مشخص شده است";

مقالات مرتبط برتر