您好,得到问题不知道为什么我的时间以前的功能将不会工作,保持显示49年?当它在2018年3月14日下午1:06创建时,不知道哪里出了问题,仍然不会显示正确的时间,一旦我按下提交,它应该是1秒或6秒,但它会显示49年。
这是我的ticket.php
public static function getTicket(){
$sql = "SELECT * FROM `tickets` ";
$result = $mysqli->query($sql);
echo '<table class="table table-hover table-striped table-responsive"><th>User</th><th>Message</th><th>Created</th><th>Last update</th>';
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo '<tr class="table_row">
<td>' . $row['Message'] . '</td>
<td>' . date("F j, Y, g:i a", strtotime($row['date'])) . '</td>
<td>' . timeAgo($row['editdate']) . '</td>
<td><form method="POST">
<input name="ticketId" value="' . $row['ticketid'] . '" type="text" hidden />
<button type="submit" class="'.$class .'">'.$row['status'] .'</button></form>
</td>
</tr>';
}这是我的timeAgo function.php
<?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){
return "just now";
}
//Minutes
else if($minutes <=60){
if($minutes==1){
return "one minute ago";
}
else{
return "$minutes minutes ago";
}
}
//Hours
else if($hours <=24){
if($hours==1){
return "an hour ago";
}else{
return "$hours hrs ago";
}
}
//Days
else if($days <= 7){
if($days==1){
return "yesterday";
}else{
return "$days days ago";
}
}
//Weeks
else if($weeks <= 4.3){
if($weeks==1){
return "a week ago";
}else{
return "$weeks weeks ago";
}
}
//Months
else if($months <=12){
if($months==1){
return "a month ago";
}else{
return "$months months ago";
}
}
//Years
else{
if($years==1){
return "one year ago";
}else{
return "$years years ago";
}
}
}
?>发布于 2018-03-14 14:02:59
请使用strtotime()函数以秒为单位传递$row'editdate'值转换。
timeAgo(strtotime($row['editdate']));在这之后,你可以得到当前时间和seconds.Without转换中给定时间的差值(以秒为单位),php在你的$time_ago变量中考虑默认的时间戳值为 timestamp 1 1970 00:00:00GMT,你就得到了49年的差值。
希望你能理解。
https://stackoverflow.com/questions/49270264
复制相似问题