加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP DateTime :: diff问题与DateTime :: format

发布时间:2020-12-13 21:46:54 所属栏目:PHP教程 来源:网络整理
导读:当我尝试使用日常和时间的普通 PHP代码(d,Y,m等)格式化日期差异时,它只输出字母而不是值.这只是在我格式化DateTime :: diff时.它只适用于简单的DateTime对象. 这个: $date1 = new DateTime('2000-01-01');$date2= new DateTime('now');$date=$date2-diff($d
当我尝试使用日常和时间的普通 PHP代码(d,Y,m等)格式化日期差异时,它只输出字母而不是值.这只是在我格式化DateTime :: diff时.它只适用于简单的DateTime对象.

这个:

$date1 = new DateTime('2000-01-01');
$date2= new DateTime('now');
$date=$date2->diff($date1);
echo $date->format('d days ago');

输出“d天前”.

我知道,如果我用%a替换d,它将输出这是多少天前.我想知道输出秒,分钟甚至数年的其他角色是什么.

提前致谢!

解决方法

DateTime :: diff()返回一个 DateInterval对象.

例如:

<?php

$date1 = new DateTime('2000-01-01');
$date2= new DateTime('now');
$interval=$date2->diff($date1);
echo "Years: {$interval->y }n";
echo "Months: {$interval->m }n";
echo "Days: {$interval->d }n";
echo "Hours: {$interval->h }n";
echo "Mins: {$interval->i }n";
echo "Secs: {$interval->s }n";
echo $interval->format("%Y years,%m months,%d days,%H hours,%i minutes,%s seconds") . "n";

将输出:

Years: 13
Months: 1
Days: 11
Hours: 13
Mins: 14
Secs: 44
13 years,1 months,11 days,13 hours,21 minutes,43 seconds

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读