PHP将DateTime对象转化为友好时间显示的实现代码
/**
* 友好日期时间
*
* @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));
}
相关推荐
-
Yii2中datetime类的使用
前言 以前更改时间格式的时候经常使用date方法,后来知道php竟然自带datetime类处理时间格式,记录一下用法,方便以后使用 实例化 在yii 1.1中,可以直接写成 $datetime = new DateTime; 但是在yii2 这么写就直接报错了,说找不到这个类,后来一查原来跟命名空间有关系所以在使用命名空间的框架中,就要这样写,加个斜杠 $datetime = new \DateTime; 使用 下面列一下这个类都可以输出那些格式 输出当前时间 $datetime = new \
-
总结PHP中DateTime的常用方法
前言 实例化对象前面加\表示的是,在命名空间中使用原生的类,如果没有使用命名空间的话,可以把前面的\给删除掉 1. 输出当前时间 $datetime = new \DateTime; print_r($datetime->format('Y-m-d H:i:s')); 2. 输出给定的时间 $datetime = new \DateTime('2016-06-13'); print_r($datetime); 3. 根据给定的时间格式化为自己想要的时间 $datetime = \DateTime
-
PHP将DateTime对象转化为友好时间显示的实现代码
复制代码 代码如下: /** * 友好日期时间 * * @param DateTime $datetime 日期时间 * @param int $size 精确到位数 * @throws \InvalidArgumentException * @return string */ function friendly_date($datetime, $size=1) { if (is_int($datetime)) { $datetime = new \DateTime($datetime); }
-
纯js实现动态时间显示
本文实例为大家分享了js动态时间显示 的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <head> <meta charset="utf-8"> <title>js动态时间显示 </title> </head> <body id = "show"> <script> function run(){ var time = ne
-
javaScript实现世界各地时间显示
本文实例为大家分享了javaScript实现世界各地时间显示的具体代码,供大家参考,具体内容如下 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&
-
javascript实现智能手环时间显示
本文实例为大家分享了javascript实现智能手环时间显示的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
javascript 时间显示代码集合(Date对象)
javascript时间函数 javascript提供了Date对象来进行时间和日期的计算. Date对象有多种构造函数: new Date() //当前时间 new Date(milliseconds) //距离起始时间1970年1月1日的毫秒数 new Date(datestring) //字符串代表的日期与时间.此字符串可以使用Date.parse()转换,比如"Jannuary 1, 1998 20:13:15" new Date(year, month, day, hours
-
PowerShell中iso8601格式日期和DateTime对象互转实例
一.iso8601格式转换成DateTime对象 这里主要用到datetime的静态方法static datetime ParseExact(string s, string format, System.IFormatProvider provider) 复制代码 代码如下: $dateTimeStr = '20141231T23:59:59' $format = 'yyyyMMddTHH:mm:ss' $formatProvider = [Globalization.CultureInfo]
-
python 获取utc时间转化为本地时间的方法
方法一: import datetime timenow = (datetime.datetime.utcnow() + datetime.timedelta(hours=8)) #将utc时间转化为本地时间 timetext = timenow.strftime('%y%m%d') 方法二: import datetime import dateutil.parser st_time = hit['_source']['start_time'] re_time = hit['_source']
-
JSON对象转化为字符串详解
序列化 定义 指将 JavaScript 值转化为 JSON 字符串的过程. JSON.stringify() 能够将 JavaScript 值转换成 JSON 字符串.JSON.stringify() 生成的字符串可以用 JSON.parse() 再还原成 JavaScript 值. 参数的含义 1)JSON.stringify(value[, replacer[, space]]) 2)value:必选参数.被变换的 JavaScript 值,一般是对象或数组. 3)replacer:可以省
-
JS实现将对象转化为数组的方法分析
本文实例讲述了JS实现将对象转化为数组的方法.分享给大家供大家参考,具体如下: 前言 其实这本来应该是一个很基础的问题了,但我之做一想记录一下是因为之前因为对象转数组的时候卡住了后来弄了出来,但最近再遇到这个问题时竟然又卡主了,所以,关于这个问题,如何把一个对象{'未完成':5, '已完成':8, '待确认':4, '已取消':6}转为[{"未完成":5},{"已完成":8},{"待确认":4},{"已取消":6}],你已经知
-
jsp Response对象页面重定向、时间的动态显示
Response对象 response对象主要用于对客户端的请求进行回应,将web服务器处理后的结果发回给客户端,封装了jsp产生的响应,并发送到客户端响应客户端的请求,请求的数据可以是各种数据类型,甚至是文件. 常用的方法:void addCookie(Cookie c) 添加一个Cookie对象,用来保存客户端用户信息. 比如一些登录操作是否记住用户名等等.void setHeader(String name,String value) 常用的有刷新操作和定时跳转页面. response.s
随机推荐
- 基于jsp实现新闻管理系统 附完整源码
- Go语言用map实现堆栈功能的方法
- javascript中使用正则表达式删除前后空格的方法
- 正则表达式的使用 ASP
- 正则表达式中的正向预查和负向预查实例分析
- 详解iOS应用中播放本地视频以及选取本地音频的组件用法
- iOS App之间的通信 local socket
- asp.net发邮件的几种方法汇总
- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装的步骤
- 如何使用Bootstrap 按钮实例详解
- asp.net下按钮点击后禁用的实现代码
- CodeIgniter输出中文乱码的两种解决办法
- Android Vibrator调节震动代码实例
- HTML5 canvas 9绘制图片实例详解
- 为了防止乱码,请将用于页面编码的meta charset放到title的前面
- nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)
- 相册管理系统(Java表单+xml数据库存储)
- iASP-让unix支持asp
- C++中strtok()函数的用法介绍
- Android中常用的XML生成方法实例分析