加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP和Android中将TimeStamp转换为可读时间

发布时间:2020-12-13 17:00:35 所属栏目:PHP教程 来源:网络整理
导读:我将数据从服务器发送到 android并且我在数据库中有一个字段作为时间戳,我也发送数据作为 JSON但是当我发送数据时它显示如下日期:date“:1463232118”或当我删除’strtotime ‘函数从代码中显示如下日期:2016-05-18 10:24:32但是当我把’strtotime’放在
我将数据从服务器发送到 android并且我在数据库中有一个字段作为时间戳,我也发送数据作为 JSON但是当我发送数据时它显示如下日期:date“:1463232118”或当我删除’strtotime ‘函数从代码中显示如下日期:2016-05-18 10:24:32但是当我把’strtotime’放在一边JSON数组时,它将被发送到android端,我在浏览器中打开它显示像这样:4周前或3天前它是正确的,但当我发送它作为JSON数组时,它显示:日期“:1463232118”.这是我完整的 PHP代码指南,或者添加你知道的东西

<?php

require_once("include.php");

$tbl_name ="ads";
$order_by ="id";

$records_limit= 6;


$connect = @mysqli_connect($hostname,$username,$password,$database);

if( $connect )
{
    @mysqli_query($connect,"SET CHARACTER SET utf8;");

    $temp1 = @mysqli_query($connect,"SELECT COUNT (*) FROM".$tbl_name);

    $temp2 = @mysqli_fetch_row($temp1);

    $total_records = $temp2[0];

    if(isset( $_GET['page']))
    {
        $page = $_GET['page'];
        $offset = $page * $records_limit;
    }
    else
    {
        $page = 0;
        $offset = 0;
    }

    $my_query = "SELECT * FROM ".$tbl_name." ORDER BY ".$order_by." DESC LIMIT ".$offset.",".$records_limit;

    $result = @mysqli_query($connect,$my_query);
    if( $result )
    {
        $response['ads'] = array();
        $response['success'] = 1;  


        while( $row = @mysqli_fetch_array($result) )
        {
            $ads = array();

            $curenttime=$row['date'];
            $time_ago =strtotime($curenttime);

            $ads['id']  = $row['id'];
            $ads['title']   = $row['title'];    
            $ads['intro']   = $row['intro'];
                    $ads['image']   = $sitename . $row['image'];
            $ads['seller']  = $row['seller'];
            $ads['phone']   = $row['phone'];

            $ads['date']    = $time_ago;

            $q = "SELECT name FROM cat WHERE id='".$row['cat_id']."'";
            $temp1 = @mysqli_query($connect,$q);
            $temp2 = @mysqli_fetch_row($temp1);
            $cat = $temp2[0];


            $ads['cat'] = $cat;         

            array_push( $response['ads'],$ads);
        }
    }
    else
    {
        $response['success'] = 0;
        $response['message'] = "nothing";
    }

    echo(json_encode($response)); 


    @mysqli_close( $connect );
}



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";
    }
}
}

?>

下面是我输入$curenttime = $ads [‘date’]时的输出;
????????????????????????????????$time_ago = strtotime($curenttime);
????????????????????????????????echo timeAgo($time_ago);阵列外面.

5 hours ago5 hours ago4 days ago4 days ago4 days ago

解决方法

timeAgo函数应该返回值而不是echo.

你忘了打电话给$ads [‘date’] = timeAgo($time_ago);这就是为什么你的JSON中有strtotime值而不是之前的转换值.

编辑

要从timeAgo()函数返回值,只需执行以下操作:

return $seconds . " seconds ago";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读