2017-12-26 9 views
-1

私がショーを投稿して11時間前に正しい時間が表示されていない場合はどうすれば表示され、データベースに正しい時間を入力するのですか 何か助けが必要です。私はコメントのための日付形式を得て、私は "時間前"形式を挿入しようとしています。そして私はそれに問題があります。これはコードです:ここ 時間前phpの設定が私の時間と同じではありません

switch文が理由のカップルのための不正確に見える私には私のコード

<?php 

    class time{ 

    public function timeAgo($time_ago) { 
     $time_ago = strtotime($time_ago) ? strtotime($time_ago) : $time_ago; 
     $time = time() - $time_ago; 
     $time = ($time + 4*60*60)+30*60; 

     switch($time): 
     // seconds 
     case $time <= 60; 
     return ($time == 1) ? "Just now" : $time." secs"; 
     // minutes 
     case $time >= 60 && $time < 3600; 
     return (round($time/60) == 1) ? '1 min' : round($time/60).' mins'; 
     // hours 
     case $time >= 3600 && $time < 86400; 
     return (round($time/3600) == 1) ? '1 hour' : round($time/3600).' hours'; 
     // days 
      case $time >= 86400 && $time < 604800; 
      return (round($time/86400) == 1) ? '1 day' : round($time/86400).' days'; 
     // weeks 
     case $time >= 604800 && $time < 2600640; 
     return (round($time/604800) == 1) ? '1 week' : round($time/604800).' weeks'; 
     // months 
     case $time >= 2600640 && $time < 31207680; 
     return (round($time/2600640) == 1) ? '1 month' : round($time/2600640).' months'; 
     // years 
     case $time >= 31207680; 
     return (round($time/31207680) == 1) ? '1 year' : round($time/31207680).' years' ; 

     endswitch; 
     } 

    public function normalTime($time){ 
     $str = strtotime($time); 
     return date("d-F-Y h:i:s a", $str); 
    } 

    } 

?> 
+0

あなたはどんなエラーに直面したのですか? –

+1

どのようなトラブルがありますか? –

+0

あなたのデスクトップに表示されている時間と同じではないことを意味しますか?おそらくタイムゾーンの設定に問題はありますか? 'date_timezone_set()'を試して、ローカルタイムゾーンに時刻を設定してください。 – Wiguno

答えて

0

ある - まず、それはコロン:ではなく、ケースの後にセミコロン;する必要があります声明/発現し、またcase文に複雑な表現を使用しているとき、私は正常に見ることを期待するようswitch($time)ではなく、たとえば、switch(true)を使用して(?)

switch(true){ 
    case ($time <= 60): return ($time == 1) ? "Just now" : $time." secs"; 
    case ($time >= 60 && $time < 3600) return (round($time/60) == 1) ? '1 min' : round($time/60).' mins'; 
    case ($time >= 3600 && $time < 86400): return (round($time/3600) == 1) ? '1 hour' : round($time/3600).' hours'; 
    case ($time >= 86400 && $time < 604800): return (round($time/86400) == 1) ? '1 day' : round($time/86400).' days'; 
    case ($time >= 604800 && $time < 2600640): return (round($time/604800) == 1) ? '1 week' : round($time/604800).' weeks'; 
    case ($time >= 2600640 && $time < 31207680): return (round($time/2600640) == 1) ? '1 month' : round($time/2600640).' months'; 
    case ($time >= 31207680): return (round($time/31207680) == 1) ? '1 year' : round($time/31207680).' years' ; 
    default return false; 
} 
関連する問題