PHP将DateTime对象转化为友好时间显示的实现代码_php技巧

复制代码 代码如下:

/**
* 友好日期时间
*
* @param DateTime $datetime 日期时间
* @param int $size 精确到位数
* @throws \InvalidArgumentException
* @return string
*/
function friendly_date($datetime, $size=1)
{
if (is_int($datetime)) {
$datetime = new \DateTime($datetime);
}
if (!($datetime instanceof \DateTime)) {
throw new \InvalidArgumentException('invalid "DateTime" object');
}
$now = new \DateTime();
$interval = $now->diff($datetime);
$intervalData = array(
$interval->y, $interval->m, $interval->d,
$interval->h, $interval->i, $interval->s,
);
$intervalFormat = array('年', '个月', '天', '小时', '分种', '秒');
foreach($intervalData as $index=>$value) {
if ($value) {
$intervalData[$index] = $value . $intervalFormat[$index];
} else {
unset($intervalData[$index]);
unset($intervalFormat[$index]);
}
}
return implode('', array_slice($intervalData, 0, $size));
}

时间: 2024-11-10 05:37:03

PHP将DateTime对象转化为友好时间显示的实现代码_php技巧的相关文章

PHP将DateTime对象转化为友好时间显示的实现代码

PHP将DateTime对象转化为友好时间显示的实现代码,需要的朋友可以参考下. /** * 友好日期时间 * * @param DateTime $datetime 日期时间 * @param int $size 精确到位数 * @throws InvalidArgumentException * @return string */ function friendly_date($datetime, $size=1) { if (is_int($datetime)) { $datetime =

php格式化时间戳显示友好的时间实现思路及代码_php技巧

在项目中时间一律显示为2014-10-20 10:22显得很呆板.在微博.QQ空间等网站通常会显示为几秒前,几分钟前,几小时前等容易阅读的时间,我们称之为友好的时间格式.那么用php怎么实现呢? 大体思路如下: 如果是跨年并且大于3天就显示为具体的时间 如果是今天的 如果是一分钟内则显示几秒之前 如果是一小时内则显示几分钟前 如果是当天且大于一小时则显示为几小时前 如果是昨天则显示为昨天几点 如果是前天则显示为前天几点 如果大于三天(没有跨年)则显示为几月几号 根据以上思路就不难写出实现代码了:

比较全的PHP 会话(session 时间设定)使用入门代码_php技巧

  对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证.如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担.因为我们并不能 只做一次验证.为什么呢?因为客户端 Cookie 中的信息是有可能被修改的.假如你存储 $admin 变量来表示用户是否登陆,$admin 为 true 的时候表示登陆,为 false 的时候表示未登录,在第一次通过验证后将 $admi

PHP 时间转换Unix时间戳代码_php技巧

复制代码 代码如下: <?php date_default_timezone_set('Asia/Chongqing'); $time1 = "2006-04-16 08:40:54"; $time2 = strtotime($time1); echo $time2; echo date('Y-m-d h:i:s',$time2); ?>

javascript中打印当前的时间实现思路及代码_javascript技巧

复制代码 代码如下: <html> <head> <title></title> <script> /* //声明时间 var date = new Date(); alert(date);//当前时间 alert(date.toLocaleString());//转化为本地时间 alert(date.getFullYear());//显示年份 alert(date.getMonth() + 1);//显示月份 0-11,需要加1 alert(d

php多层数组与对象的转换实例代码_php技巧

多层数组和对象转化的用途很简单,便于处理WebService中多层数组和对象的转化 简单的(array)和(object)只能处理单层的数据,对于多层的数组和对象转换则无能为力. 通过json_decode(json_encode($object)可以将对象一次性转换为数组,但是object中遇到非utf-8编码的非ascii字符则会出现问题,比如gbk的中文,何况json_encode和decode的性能也值得疑虑.下面上代码: 复制代码 代码如下: <?php function object

php checkdate、getdate等日期时间函数操作详解_php技巧

checkdate($month,$date,$year) 如果应用的值构成一个有效日期,则该函数返回为真.例如,对于错误日期2005年2月31日,此函数返回为假. 在日期用于计算或保存在数据库中之前,可用此函数检查日期并使日期生效. 复制代码 代码如下: <?php // returns false echo checkdate(2,30,2005) ? "valid" : "invalid"; // returns true echo checkdate(

php修改时间格式的代码_php技巧

修改时间格式: date("Y-m-d",strtotime($list['pubdate'])); 学习解释:将时间放入strtotime为时间戳后用date()转化格式.下面写了两个函数的 PHP strtotime() 函数 strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳. 语法 strtotime(time,now)参数 描述 time 规定要解析的时间字符串. now 用来计算返回值的时间戳.如果省略该参数,则使用当前时间. PHP Date

php时间戳和正常时间显示的转换代码

例如你调用的变量是$liehuo_times,那么在php中输出的语句就是:,怎么样,简单吧? mysql里面存的时间是时间戳,10位数的 怎么才能用函数转换成正常的时间函数输出? time(); 是获得当前时间,但获得的是一整型 可以对此进行格式化 date("Y-m-d H:i:s", time()) ; 这样连时,分秒一起显示 date("Y-m-d ", time()); 只年示年月日 echo "本机所在的时区:".date("