بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
نمایش زمان به صورت همین الان ، دو روز پیش و ....
سلام من میخوام زمانرو ب صورت مثلا همین الان ، چند دقیقه پیش ، چند روز پیش و ... نشون بدم
چطور با php انجام میشه؟
کسی فانکشنی براش ننوشتهه؟
0
0
لینک (7 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
مشاهده پاسخ صحیح
پاسخ به سوال
reza piry ghadim
7 سال پیش
+1
0
پاسخ صحیح
با سلام از این دو تابع میتونید استفاده کنید :
تابع اول :
function time_ago($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'سال'),
array(60 * 60 * 24 * 30 , 'ماه'),
array(60 * 60 * 24 * 7, 'هفته'),
array(60 * 60 * 24 , 'روز'),
array(60 * 60 , 'ساعت'),
array(60 , 'دقیقه'),
array(1 , 'ثانیه')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
تابع دوم :
function time_ago2 ($time){
$time = time() - $time; // to get the time since that moment
$time = ($time<1)? 1 : $time;
$tokens = array (
31536000 => 'سال',
2592000 => 'ماه',
604800 => 'هفته',
86400 => 'روز',
3600 => 'ساعت',
60 => 'دقیقه',
1 => 'ثانیه'
);
foreach ($tokens as $unit => $text) {
if ($time < $unit){
continue;
}
$numberOfUnits = floor($time / $unit);
return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
}
}
موفق باشید .
همون زمان ثبت شده است دیگه - زمان رو به چه فرمتی ثبت کردید ؟ زمانتون یه عدد ده رقمیه یا یه همچین چیزی ؟ 1396/01/15 14:35 ؟؟
اگه همون عدد ده رقمیه همون رو بدید اگه نیست باید تبدیل کنید به تایم استمپ بعد از این توابع استفاده کنید .
برای گرفتن تایم استمپ جاری هم از تابع time() استفاده میشه . موفق باشید (7 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .