• 2 رای - 3.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش تاریخ و زمان
#1
Question 
سلام
شاید در سایتها دیده باشید که برای نمایش زمان دیگه به روش قدیمی عمومی عمل نمیکنن و مثلا یک زمان رو به این صورت نمایش میدن "آخرین ارسال از طرف میر 2 ساعت قبل" یا " در 12 ثانیه پیش گفت" یا " امیر لحظاتی پیش"
خوب این کار اسمش relative date هست که مد شده و خیلی هم قشنگه
حالا من یه کلاس اینجا دارم
کد:
class calculateTime
{
    public static function createTimeString($timeStamp, $format="long", $dateFormat="n/j/Y")
    {
        // Take the current time and create the difference
        $timeDifference = time() - $timeStamp;

        // Check the length of time passed since seconds
        switch($timeDifference)
        {
            // Date is less than an hour old
            case $timeDifference <= 3600:
                $minutes = floor($timeDifference / 60);
                $seconds = $timeDifference - ($minutes * 60);

                // Choose correct pluralizations
                if($minutes == 1)
                {
                    $minuteString = "minute";
                }
                else
                {
                    $minuteString = "minutes";
                }

                if($seconds == 1)
                {
                    $secondString = "second";
                }
                else
                {
                    $secondString = "seconds";
                }

                switch($format)
                {
                    case "short":
                        return $minutes . "m " . $seconds . "s ago";
                    break;

                    default:
                        return $minutes . " " . $minuteString . " " . $seconds . " " . $secondString . " ago";
                    break;
                }
            break;

            // Date is less than a day old
            case $timeDifference <= 86400:
                $hours = floor($timeDifference / 60 / 60);
                $minutes = floor(($timeDifference - ($hours * 60 * 60)) / 60);

                // Choose correct pluralizations
                if($hours == 1)
                {
                    $hourString = "hour";
                }
                else
                {
                    $hourString = "hours";
                }

                if($minutes == 1)
                {
                    $minuteString = "minute";
                }
                else
                {
                    $minuteString = "minutes";
                }

                switch($format)
                {
                    case "short":
                        return $hours . "h " . $minutes . "m ago";
                    break;

                    default:
                        return $hours . " " . $hourString . " " . $minutes . " " . $minuteString . " ago";
                    break;
                }
            break;

            // Date is less than a week old.
            case $timeDifference <= 604800:
                $days = floor($timeDifference / 86400);
                $hours = floor(($timeDifference - ($days * 86400)) / 60 / 60);

                // Choose correct pluralizations
                if($days == 1)
                {
                    $dayString = "day";
                }
                else
                {
                    $dayString = "days";
                }

                if($hours == 1)
                {
                    $hourString = "hour";
                }
                else
                {
                    $hourString = "hours";
                }

                switch($format)
                {
                    case "short":
                        return $days . "d " . $hours . "h ago";
                    break;

                    default:
                        return $days . " " . $dayString . " " . $hours . " " . $hourString . " ago";
                    break;
                }
            break;

            // Older than one week. Just return the absolute date.
            default:
                return date($dateFormat, $timeStamp);
            break;
        }
    }
}

?>
حالا میخوام بدونم این کلاس درسته؟
و اگر کلاس یا فاکشن بهتری دارید معرفی کنید
و دیگه چه راه هایی یرای استفاده راحت تر از این روش هست
آیا کسی یه کلاس یا فاکشن راحت تر سراغ داره؟
میشه با جاوا هم به صورت سرور ساید این کار رو کرد؟؟
ما همیشه نیازمند دانستنیم و علم هیچکس کامل نیست.Angel
و بیسوادترین ما آنهایی هستند که تصور میکنند همه چیز میدانند و بی نیاز هستند از علم دیگران و به این مغرور میشوند (نهج البلاغه)Heart
  پاسخ
تشکر شده توسط :
#2
از کلاس jdate چرا استفاده نمی کنید؟؟؟؟
امتحان شده و جواب می ده
اگه منظورتون جاوااسکریپته، نه نمی شه
با ایجکس باید کار کنید
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : cyraxgroup
#3
مگه مشه با جی دیت این کار رو کرد!!!!!!! چه جوری؟
ما همیشه نیازمند دانستنیم و علم هیچکس کامل نیست.Angel
و بیسوادترین ما آنهایی هستند که تصور میکنند همه چیز میدانند و بی نیاز هستند از علم دیگران و به این مغرور میشوند (نهج البلاغه)Heart
  پاسخ
تشکر شده توسط :
#4
آره یکی از دوستان یه همچین کلاسی رو نوشته بود با استفاده از کلاس jdate

هرچی دنبالش گشتم پیدا نکردم که بهت لینک بدم Sad
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : cyraxgroup
#5
خدا پدر و مادرش رو بیامرزه
هر کی پیدا کرد حتما با نحوه استفاده مرحمت بفرماید متشکر میشویم
ما همیشه نیازمند دانستنیم و علم هیچکس کامل نیست.Angel
و بیسوادترین ما آنهایی هستند که تصور میکنند همه چیز میدانند و بی نیاز هستند از علم دیگران و به این مغرور میشوند (نهج البلاغه)Heart
  پاسخ
تشکر شده توسط :
#6
پیدا کردم:
http://shamsoft.org/blog/2008/11/22/pers...php-mysql/
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : cyraxgroup zoghal
#7
ممنون مولانا جان خیلی لطف کردی
ما همیشه نیازمند دانستنیم و علم هیچکس کامل نیست.Angel
و بیسوادترین ما آنهایی هستند که تصور میکنند همه چیز میدانند و بی نیاز هستند از علم دیگران و به این مغرور میشوند (نهج البلاغه)Heart
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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