Timesatmp到多年前转换php

时间:2015-07-01 11:10:20

标签: php timestamp

以下是将时间戳转换为“X”年前的代码.... 但如果我输入当前时间戳它的功能不正确..请帮助

这是转换时间戳

的函数
<?php
    function timeAgo($time_ago){
    $cur_time   = time();
    $time_elapsed   = $cur_time - $time_ago;
    $seconds    = $time_elapsed ;
    $minutes    = round($time_elapsed / 60 );
    $hours      = round($time_elapsed / 3600);
    $days       = round($time_elapsed / 86400 );
    $weeks      = round($time_elapsed / 604800);
    $months     = round($time_elapsed / 2600640 );
    $years      = round($time_elapsed / 31207680 );
    // Seconds
    if($seconds <= 60){
        echo "$seconds seconds ago";
    }
    //Minutes
    else if($minutes <=60){
        if($minutes==1){
            echo "one minute ago";
        }
        else{
            echo "$minutes minutes ago";
        }
    }
    //Hours
    else if($hours <=24){
        if($hours==1){
            echo "an hour ago";
        }else{
            echo "$hours hours ago";
        }
    }
    //Days
    else if($days <= 7){
        if($days==1){
            echo "yesterday";
        }else{
            echo "$days days ago";
        }
    }
    //Weeks
    else if($weeks <= 4.3){
        if($weeks==1){
            echo "a week ago";
        }else{
            echo "$weeks weeks ago";
        }
    }
    //Months
    else if($months <=12){
        if($months==1){
            echo "a month ago";
        }else{
            echo "$months months ago";
        }
    }
    //Years
    else{
        if($years==1){
            echo "one year ago";
        }else{
            echo "$years years ago";
        }
    }
    }

    ?>

这是从

调用的地方
 <?php
      $curenttime="2015-06-1 4:35";
      $time_ago =strtotime($curenttime);
      echo timeAgo($time_ago);
    ?>

输出

4weeks

1 个答案:

答案 0 :(得分:0)

对我来说似乎很有效。

for(val, ids) in my_array
  execute_sql("update users set foo = '#{val}' where id in (#{ids.join(',')})")
end

这是第一个六月,今天是七月一日,所以你输入的日期是4周前。