在PHP和Android中将TimeStamp转换为可读时间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在PHP和Android中将TimeStamp转换为可读时间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3289字,纯文字阅读大概需要5分钟。
内容图文
![在PHP和Android中将TimeStamp转换为可读时间](/upload/InfoBanner/zyjiaocheng/788/76eb72a2da35426fa57d1a08797f649f.jpg)
我将数据从服务器发送到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";
内容总结
以上是互联网集市为您收集整理的在PHP和Android中将TimeStamp转换为可读时间全部内容,希望文章能够帮你解决在PHP和Android中将TimeStamp转换为可读时间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。