ثبت نام کنید

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ آدرس ایمیل خود را وارد کنید، یک ایمیل حاوی لینک بازیابی رمز عبور برای شما ارسال می شود.

پرسیدن سوال

برای پرسیدن سوال، باید وارد حساب کاربری خود در سایت شوید.
در بین 708 آموزش و 1291 پرسش به دنبال چه هستید؟

در بپرسم کلیه مطالب آموزشی رایگان است، کافیست فقط آن چیزی را که میخواهید دنبالش بگردید


آموزش پیشرفته PHP – تاریخ و زمان(میلادی و شمسی)

سلام

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

این تابع، رشته ای از داده ها را به عنوان پارمتر می گیرد و نتایج آنها را به صورت زمان یا تاریخ نمایش می دهد.

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

تابع date در PHP

در php برای نمایش تاریخ از تابع date استفاده میکنیم. که این تابع پارامترهای مختلفی دارد که به صورت رشته مشخص میشود و در نتیجه آتها را به صورت تاریخ یا زمان نشان میدهد.

نحوه استفاده:

تابع date دو پارامتر به عنوان ورودی میگیرد:

 

دریافت تاریخ با استفاده از تابع date

در تابع date پارامتر format الزامی است که قالب نمایش تاریخ یا زمان را مشخص میکند.

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

  • a: صبح یا عصر، نماینده am و pm است.
  • A: صبح یا عصر، نماینده AM و PM است.
  • B: زمان اینترنت سوئچ (swatch) که یک زمان جهانی است.
  • C: تاریخ ISO 8601، تاریخ به صورت YYYY_MM_DD . این کد فرمت در نسخه php 5 ارائه شده است.
  • d: روز به صورت عدد دو رقمی از ۰۱ تا ۳۱
  • D: روز هفته به صورت ۳ کاراکتر مانند :Mon و Sun
  • F: ماه در فرمت متنی . محدوده آن از January تا December است.
  • g: ساعت در فرمت ۱۲ ساعت از ۱ تا ۱۲
  • G: ساعت در فرمت ۲۴ ساعت از ۰ تا ۲۳
  • h: ساعت در فرمت ۱۲ ساعت از ۰۱ تا ۱۲
  • H: ساعت در فرمت ۲۴ ساعت از ۰۰ تا ۲۳
  • i: دقیقه به صورت عدد دو رقمی از ۰۰ تا ۵۹
  • I: این مقدار بولی ساعت را یک ساعت به جلو و عقب می برد (در آخر تابستان و اول فروردین)
  • j: روز را در یک ماه نشان می دهد. از ۱ تا ۳۱
  • l: روز را در هفته از Sonday تا Monday مشخص می کند.
  • L: این مقدار بولی سال کبیسه را مشخص می کند و اگر سال کبیسه باشد مقدار یک را بر می گرداند.
  • m: ماه را در فرمت دو رقمی از ۰۱ تا ۱۲ مشخص می کند.
  • M: ماه در فرمت ۳ کاراکتر مانند: Jan و Dec
  • n: ماه در فرمت عددی بدون صفر از ۱ تا ۱۲
  • o: تفاوت زمان منطقه جغرافیایی موجود و GMT را در واحد ساعت بیان می کند.
  • r: زمان و تاریخ در فرمت RFC822
  • s: ثانیه در محدوده ۰۰ تا ۵۹
  • S: پسوند های ترتیبی اعداد در فرمت دو کاراکتر .مانند: ۱st یا ۲۳th
  • t: تعداد روز های ماه را از ۲۸ تا ۳۱ مشخص می کند.
  • T: تنظیمات منطقه زمانی سرور در فرمت ۳ کاراکتر مانند EST
  • U: تعداد کل ثانیه ها از اول ژانویه ۱۹۷۰ تاکنون را بیان می کند.
  • w: روز هفته در یک رقم. ۰ برای یکشنبه و ۶ برای شنبه
  • W: شماره هفته از اول سال. مانند ۲۱ برای نشان دادن هفته ۲۱ام سال
  • y: سال در فرمت دورقمی، ۰۵ برای ۲۰۰۵
  • Y: سال در فرمت چهار رقمی، مانند ۲۰۰۶
  • z: روز را مشخص می کند. محدوده آن ۰ تا ۳۶۵ است.
  • Z: افست منطقه زمانی را بر حسب ثانیه بیان می کند. محدوده آن بین ۴۳۲۰۰- و ۴۳۲۰۰ است.

نکته: کاراکتر هایی که در لیست بالا نباشند، مستقیماً چاپ می شوند. مانند: / و , و … .

همینطور که مشاهده میکنید؛ رشته های بالا را می توانیم به عنوان پارامتر format استفاده کنیم؛ در ادامه چندین مثال نیز حل میکنیم.

حتما بخوانید:  آموزش استریم با استفاده از دو اینترنت

مثال:

خروجی مثال بالا:

Today is 2019/10/08
Today is 2019.10.08
Today is 2019-10-08
Today is Tuesday

کار با تابع date بسیار ساده است، شما به هر شکلی که بخواهید میتوانید تاریخ را نمایش دهید؛ پارامتر هایی که در بالا گفتیم را خودتان امتحان کنید تا خروجی های مختلفی بگیرید.

دریافت زمان با استفاده از تابع date

در بالا تمام پارامترهای format را ذکر کردیم؛ که چند تا از این پارامتر ها برای دریافت زمان است، پارامترهایی مثل:

  • a: صبح یا عصر، نماینده am و pm است.
  • A: صبح یا عصر، نماینده AM و PM است.
  • B: زمان اینترنت سوئچ (swatch) که یک زمان جهانی است.
  • g: ساعت در فرمت ۱۲ ساعت از ۱ تا ۱۲
  • G: ساعت در فرمت ۲۴ ساعت از ۰ تا ۲۳
  • h: ساعت در فرمت ۱۲ ساعت از ۰۱ تا ۱۲
  • H: ساعت در فرمت ۲۴ ساعت از ۰۰ تا ۲۳
  • i: دقیقه به صورت عدد دو رقمی از ۰۰ تا ۵۹
  • I: این مقدار بولی ساعت را یک ساعت به جلو و عقب می برد (در آخر تابستان و اول فروردین)
  • s: ثانیه در محدوده ۰۰ تا ۵۹

مثال:

خروجی مثال بالا:

The time is 08:47:55am

که زمان فعلی را نمایش میدهد.

نمایش سال جاری با نماد کپی رایت

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

تنظیم منطقه زمانی با تابع date_default_timezone_set

زمانی که از تابع date استفاده میکنیم، زمان را بر اساس منطقه ی زمانی نشان میدهد، به این معنی که اگر از سرور ایران استفاده کنیم، زمان ایران را نشان میدهد و اگر از سرورهای خارجی مثلا آلمان استفاده کنیم؛ آلمان را نشان میدهد، برای رفع چنین مشکلی در php تابع date_default_timezone_set را داریم که یک پارامتر ورودی میگیرد که منطقه مورد نظر را می توانیم مشخص کنیم که زمان بر اساس همین منطقه نمایش داده شود.

حتما بخوانید:  آموزش سیستم عامل DOS - قسمت نهم(محافظت از فایلها)

مثال:

در قطعه کد بالا زمان بر اساس منطقه ایران تنظیم شده است.

ایجاد تاریخ با تابع mktime

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

در php توسط تابع mktime می توانیم یک timestamp مشخص کنیم تا mktime در خروجی این timestamp را به تاریخ و زمان تبدیل و نمایش دهد.

نحوه استفاده:

مثال:

خروجی مثال بالا:

Created date is 2014-08-12 11:14:54am

ایجاد تاریخ با تابع strtotime

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

نحوه استفاده:


در strtime مانند mktime نیاز نیست که تاریخ و زمان را به صورت عددی بدیم؛ بلکه به صورت ماه و … میتوان داد.

مثال:

خروجی:

Created date is 2014-04-15 10:30:00pm

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

مثال های بیشتری از تابع Date

در ادامه چند مثال بیشتر از تابع date می آوریم:

مثال اول: قطعه کد زیر تاریخ ۴ شنبه آینده را نشان میدهد.

مثال دوم: در قطعه کد زیر تعداد روز های باقی مانده تا ۴ جولای نمایش داده میشود.

آموزش تاریخ شمسی در PHP

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

حتما بخوانید:  سورس کد اندروید King Monky - جاوا

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

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

تبدیل تاریخ میلادی به شمسی در php

پس از دانلود کتابخانه، فایل jdf.php را در کنار فایلهای خود قرار داده و آن را در فایلی که میخواهید از تاریخ استفاده شود را include کنید.

مثال:

در مثال بالا فایل jdf.php را در کنار فایلهای پروژه قرار دادیم و آن را با دستور include به پروژه اضافه کردیم، و یک تاریخ جاری را به شمسی تبدیل کردیم.

مثال های بیشتر از تاریخ شمسی:

در ادامه مثال هایی که در بالا برای تابع date زدیم برای تابع jdate نیز می آوریم(از توضیح مجدد دیگه خود داری میکنیم)

مثال اول:

مثال دوم:

مثال سوم:

مثال چهارم:

مثال پنجم:

مثال ششم:

کار با کتابخانه jdf همانطور که گفتیم بسیار ساده است، فقط کافیست به جای date از jdate استفاده کنید

کتابخانه jdf بسیار گسترده است و توابع بسیاری دارد، پیشنهاد میکنم حتما به سایت سازنده مراجعه تا با تمام توابع آن آشنا بشید.

موفق باشید.

درباره احمد آخوندیمدیر

در صورتی که از بپرسم راضی بودید؛ میتوانید حمایت مالی کنید

دنبال کردن من

پاسخ دهید