[php]文章发布的时间换算方式(例如发布于3天前)
[php]文章发布的时间换算方式(例如发布于3天前)
[php]文章发布的时间换算方式(例如发布于3天前)
- <?php
- function units($time){
- $year = floor($time / 60 / 60 / 24 / 365);
- $time -= $year * 60 * 60 * 24 * 365;
- $month = floor($time / 60 / 60 / 24 / 30);
- $time -= $month * 60 * 60 * 24 * 30;
- $week = floor($time / 60 / 60 / 24 / 7);
- $time -= $week * 60 * 60 * 24 * 7;
- $day = floor($time / 60 / 60 / 24);
- $time -= $day * 60 * 60 * 24;
- $hour = floor($time / 60 / 60);
- $time -= $hour * 60 * 60;
- $minute = floor($time / 60);
- $time -= $minute * 60;
- $second = $time;
- $elapse = '';
- $unitArr = array('年' =>'year', '个月'=>'month', '周'=>'week', '天'=>'day',
- '小时'=>'hour', '分钟'=>'minute', '秒'=>'second'
- );
- foreach ( $unitArr as $cn => $u ) {
- if ( $$u > 0 ) {
- $elapse = $$u . $cn;
- break;
- }
- }
- return $elapse;
- }
- function stamp($past){
- date_default_timezone_set("America/New_York"); // 解决php5.1以上时间戳会与实际时间相差8小时,找时区请到http://www.php.net/manual/en/timezones.php
- $year =(int)substr($past,0,4); // 取得年份
- $month =(int)substr($past,5,2); // 取得月份
- $day =(int)substr($past,8,2); // 取得几号
- $hour =(int)substr($past,11,2); // 取得小时
- $minutes =(int)substr($past,14,2); // 取得分钟
- $second =(int)substr($past,17,2); // 取得秒数
- $past = mktime($hour,$minutes,$second,$month,$day,$year);
- $now = time();
- $diff = $now - $past;
- return '发表于' . units($diff) . '前';
- }
- $past = '2009-12-24 16:49:00'; // 酷播提示:从数据库得到日期
- echo stamp($past);
- ?>
来源 http://www.9958.pw/post/php_date_time_summary
热门文章推荐
- [php]优酷真实视频地址解析算法
- [Dz]discuz手机版支持视频播放的方法
- [PHP]php加密js解密的方法实例
- [php]用PHP打印出前一天的时间格式
- [PHP]mpeg,mp3,avi的ffmpeg的php转换类
- [php]php中3DES加密一个非常有用的3des加密
- [PHP]php.ini修改上传文件的大小限制处理方法
- [php]用过的最好用的php分页类源代码
请稍候...