PHP

PHP计算两者时间相差 人性化显示相差 计算截止时间显示

代码

function timespan($seconds = 1, $time = '') {
? ? if (!is_numeric($seconds)) {
? ? ? ? $seconds = 1;
? ? }

? ? if (!is_numeric($time)) {
? ? ? ? $time = time();
? ? }

? ? if ($time <= $seconds) {
? ? ? ? $seconds = 1;
? ? } else {
? ? ? ? $seconds = $time - $seconds;
? ? }

? ? $str = '';
? ? $years = floor($seconds / 31536000);

? ? if ($years > 0) {
? ? ? ? $str. = $years.
? ? ? ? ' 年, ';
? ? }

? ? $seconds -= $years * 31536000;
? ? $months = floor($seconds / 2628000);

? ? if ($years > 0 OR $months > 0) {
? ? ? ? if ($months > 0) {
? ? ? ? ? ? $str. = $months.
? ? ? ? ? ? ' 月, ';
? ? ? ? }

? ? ? ? $seconds -= $months * 2628000;
? ? }

? ? $weeks = floor($seconds / 604800);

? ? if ($years > 0 OR $months > 0 OR $weeks > 0) {
? ? ? ? if ($weeks > 0) {
? ? ? ? ? ? $str. = $weeks.
? ? ? ? ? ? ' 周, ';
? ? ? ? }

? ? ? ? $seconds -= $weeks * 604800;
? ? }

? ? $days = floor($seconds / 86400);

? ? if ($months > 0 OR $weeks > 0 OR $days > 0) {
? ? ? ? if ($days > 0) {
? ? ? ? ? ? $str. = $days.
? ? ? ? ? ? ' 天, ';
? ? ? ? }

? ? ? ? $seconds -= $days * 86400;
? ? }

? ? $hours = floor($seconds / 3600);

? ? if ($days > 0 OR $hours > 0) {
? ? ? ? if ($hours > 0) {
? ? ? ? ? ? $str. = $hours.
? ? ? ? ? ? ' 小时, ';
? ? ? ? }

? ? ? ? $seconds -= $hours * 3600;
? ? }

? ? $minutes = floor($seconds / 60);

? ? if ($days > 0 OR $hours > 0 OR $minutes > 0) {
? ? ? ? if ($minutes > 0) {
? ? ? ? ? ? $str. = $minutes.
? ? ? ? ? ? ' 分钟, ';
? ? ? ? }

? ? ? ? $seconds -= $minutes * 60;
? ? }

? ? if ($str == '') {
? ? ? ? $str. = $seconds.
? ? ? ? ' 秒, ';
? ? }

? ? return substr(trim($str), 0, -1);
}

使用timespan(当前时间, 截止时间);

显示格式X年X月X周X天X小时X分X秒

0 条评论

发表评论

你需要登录后才可进行发表