نمایش تاریخ به صورت ago با php

سلام به همه ی دوستان گرامی , این اموزش رو با توجه به درخواست یکی از دوستان عزیز میزارم 😀

خیلی وقتا شده که میخوایم تاریخ رو با توجه به زمان کنونی نشون بدیم! یعنی چی؟ فرض کنید شما الان یک پست (مطلب) روی سایت خودتون بزارید و زمان گذاشته شدن پست رو نیز بخواید نمایش بدید. شما میتونید به دو صورت زمان رو نمایش بدید :

روش اول : نمایش زمان با توجه به سال و روز و ماه مثلا : ۲۰۱۵/۲/۱۵ که تاریخ مطلق رو نشون میده!

روش دوم : نمایش زمان با توجه به زمان کنونی مثلا : دو روز پیش که تاریخ رو به صورت نسبی نمایش میده!

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

در دستورات بالا با استفاده از تابع date تاریخ رو نمایش دادیم. کافیه که زمان مورد نظر خودتون رو با استفاده از تابع time درون دیتابیس ذخیره کنید , بعدا این زمان ذخیره شده رو با استفاده از تابع date فرمت دهی کنید , در مثال بالا نیز روش کار شرح داده شد.

دوستان عزیز در تابع date کلمه ی Y سال , کلمه ی m ماه و کلمه ی d روز رو به ما میده. اگه بخواید ساعت و دقیقه و ثانیه رو هم نمایش بدید میتونید به صورت زیر عمل کنید :

در دستورات بالا کلمه ی H ساعت , کلمه ی i دقیقه و کلمه ی s ثانیه رو به ما میده 😀 اون اسلش ها و دو نقطه ها الکی هست و میتونید حذفشون کنید , فقط برای خوشکلی ازشون استفاده کردیم.

در روش دوم تاریخ رو با استفاده از PHP به صورت نسبی نمایش میدیم , برای نمایش تاریخ به صورت نسبی کار یکم سخت تر میشه 😀 ما یه تابع تعریف میکنیم که تاریخ رو بگیره و تبدیل به تاریخ نسبی با توجه به زمان کنونی کنه! تابع ما به صورت زیر خواهد بود:

در تابع بالا ما زمان رو به صورتی که با تابع time تولید شده باشه بهش میدیم و زمان رو به صورت نسبی (ago) که برای ادم قابل خوندنه به ما میده 😀 این تابع رو میتونید به صورت زیر استفاده کنید:

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

نکته : اگه با جهت نمایش داده شدن تاریخ مشکل داشتید کافیه که direction اون رو عوض کنید مثلا به صورت direction:rtl بزارید تا درست بشه.

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

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK
  1. وحید

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

    • محدودیت در تعداد دانلود به دو صورت امکان داره : هر کاربر بتونه برای مثلا حداکثر ۱۰ بار دانلود کنه! یا اینکه کلا یک فایل رو بیشتر از ۱۰ بار نشه دانلود کرد. کدوم منظورتونه؟ و اینکه دانلود زماندار زمانش نسبی باشه یا مطلق؟ برای مثال اگه نسبی باشه میگیم تا ده روز دیگه بشه دانلود کرد! اگه مطلق باشه مثلا میگیم تا ۱۰ فروردین بشه دانلود کرد.

  2. وحید

    نمیدونستم این همه مدل داره !!! لطفا همه رو بذارید !!!!

  3. آرام

    خسته نباشید و ممنون برای آموزش های خوبتون. به یک نکته می خواستم اشاره کنم. در خط ۱۸ از بدنه اصلی تابعی که تعریف کردید، فکر می کنم که عبارت بازگشتی باید مقدار یک (دقیقه) پیش را برگرداند. در حال حاضر با خط ۵۰ که مقدار یک (ماه) پیش را بر می گرداند، یکی است و موجب می شود که خروجی اشتباه نمایش داده شود. با تشکر

  4. با سلام

    این امارگیر آمار رو دقیق داره ولی با هر بار رفرش شدن آمار تغییر نمی کنه . من می خوام آمار کل رو داشته باشه و به یک ip خاص دقت نکنه اگه ممکنه راهنمایی کنید

    • لطفا در پست مربوط به امارگیر کامنت بزارید تا بهتون پاسخ صحیح بدم. نمیدونم دقیقا کدوم اسکریپت رو میگید!

می‌خواهید دیدگاهتان را بیان کنید؟