Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php以用户格式化的样式显示日期_Php_Mysql - Fatal编程技术网

使用php以用户格式化的样式显示日期

使用php以用户格式化的样式显示日期,php,mysql,Php,Mysql,我注意到Facebook、Twitter和许多其他网站都在使用相对日期和时间字符串描述用户的帖子和评论 例如,“大约3个月前写的评论”而不是“2012年9月20日写的评论”。我决定在我的网站上做同样的事情。在我的网站我需要显示1天前,2天前,3天前,。。。。。。1周前,2周前。。。。1个月前,2个月前。。。。。。1年前,2年前。。。等等 我已经有了用户注册日期,需要检查它与当前日期和时间,需要在我的主页上显示上面的风格 在我的数据库中,用户注册日期格式如下..'2012-09-23 09:11:

我注意到Facebook、Twitter和许多其他网站都在使用相对日期和时间字符串描述用户的帖子和评论

例如,“大约3个月前写的评论”而不是“2012年9月20日写的评论”。我决定在我的网站上做同样的事情。在我的网站我需要显示1天前,2天前,3天前,。。。。。。1周前,2周前。。。。1个月前,2个月前。。。。。。1年前,2年前。。。等等

我已经有了用户注册日期,需要检查它与当前日期和时间,需要在我的主页上显示上面的风格

在我的数据库中,用户注册日期格式如下..'2012-09-23 09:11:02'

有人能帮我用php建立这个脚本吗。。。这将是非常有益的


多谢各位

请尝试以下代码

function time_elapsed_since ($postedDateTime){

    $time = time() - $postedDateTime; // to get the time since that moment

         $tokens = array (
                      31536000 => 'year',
                      2592000 => 'month',
                      604800 => 'week',
                      86400 => 'day',
                      3600 => 'hour',
                      60 => 'minute',
                      1 => 'second'
                  );

                  foreach ($tokens as $unit => $text) {
                      if ($time < $unit) continue;
                      $numberOfUnits = floor($time / $unit);
                      return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
                  }

    }
试试这个

function time_ago($time) {

   $periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
   $lengths = array("60","60","24","7","4.35","12","10");

   $now = time();

   $difference = $now - $time;
   $tense = "ago";

   for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
        $difference /= $lengths[$j];
   }

   $difference = round($difference);

   if($difference != 1) {
        $periods[$j].= "s";
   }

   return "$difference $periods[$j] 'ago' ";
}
function time\u ago($time){
$periods=数组(“秒”、“分钟”、“小时”、“日”、“周”、“月”、“年”、“十年”);
$length=数组(“60”、“60”、“24”、“7”、“4.35”、“12”、“10”);
$now=时间();
$difference=$now-$time;
$tense=“ago”;
对于($j=0;$difference>=$length[$j]&&$j
我猜他们使用的是unixtime,即自1970年以来的秒数(这是标准的)。我建议你的约会也应该保持这种格式。如果他们使用unix时间,您可以使用PHP中的以下日期函数将其转换为上述格式:

<?php
date('Y-m-t H:i:s', $facebookTime);

你应该先试试自己,相信我,这并不难。如果你先尝试一下,你会在StackOverflow上做得更好。然后,如果你遇到麻烦,请带着具体的问题回到这里:)我会给你一个提示:仔细阅读date()和strotime()函数。我不喜欢有人支持spoon feeding的工作几个星期或几个月。但几秒钟、几分钟、几小时都不工作。假设我刚才添加了一个配置文件,它在1秒前、2秒前没有显示。。。等等,1分钟前,2分钟前。。它的工作持续了数周和数月。但几秒钟、几分钟、几小时都不工作。假设我刚才添加了一个配置文件,它在1秒前、2秒前没有显示。。。等等,1分钟前,2分钟前。。等等@thara:你能自己做点什么吗?
<?php
date('Y-m-t H:i:s', $facebookTime);