pedia-learning

ورود

گذرواژه‌تان را فراموش کرده‌اید؟

ثبت نام

ثبت نام
انجمن عمومی گسترش فناوری آگو

اگر اولین بار از انجمن بازدید می کنید برای دسترسی کامل به انجمن عضو شوید بعد عضویت قادر به ارسال مطلب و شرکت در بحث خواهید داشت

ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تابع AGO برای نمایش تاریخ به فرمت های مختلف (“چند ساعت پیش”)
12-24-2013, 03:27 PM
ارسال: #1
تابع AGO برای نمایش تاریخ به فرمت های مختلف (“چند ساعت پیش”)
با سلام .

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

کد php:
function ago($tm$lang 'fa'$ashtml true) {
    
$local = array('style' => array('fa' => 'style="direction:rtl;"''en' => 'style="direction:ltr"'), 'times' => array('fa' => array('ثانیه''دقیقه''ساعت''روز''هفته''ماه''سال''دهه'), 'en' => array('second''minute''hour''day''week''month''year''decade')), 'ago' => array('fa' => 'پیش''en' => 'ago'));
    if (
intval($tm) > 0) {
        
$cur_tm time();
        
$dif $cur_tm $tm;
        
$lngh = array(160360086400604800263088031570560315705600);
        for (
$v sizeof($lngh) - 1; ($v >= 0) && (($no $dif $lngh[$v]) <= 1); $v--)
            ; if (
$v 0)
            
$v 0$_tm $cur_tm - ($dif $lngh[$v]);
        
$no floor($no);
        if (
$no <> && $lang == 'en')
            
$local['times'][$lang][$v] .= 's'$x sprintf("%d %s "$no$local['times'][$lang][$v]);
        if (
$ashtml)
            return 
" " $x ' ' $local['ago'][$lang] . "";
        else
            return 
$x ' ' $local['ago'][$lang];
    } else {
        return 
'-';
    }

حال برای استفاده به این صورت عممل کنید :

کد php:
echo ago(strtotime("-1 day")); 

خروجی : “۲۴ ساعت پیش”

برای تبدیل به انگلیسی:

کد php:
$time=strtotime("-2 day");
echo 
ago($time,'en'); 

خروجی : “۲ days ago”

اگر هم بخواین خروجی عاری از هر نوع تگ html باشده به این صورت عمل کنید

کد php:
$time=strtotime("-2 day");
echo 
ago($time,'fa',false); 
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان


Persian Translation by MyBBIran.com - Ver: 4.1
Powered by MyBB, © 2002-2024 MyBB Group.
Theme designed by Marvel (Sidebar created by Yaldaram - Yaldaram.com)
Theme Translation by Mt Edition