DateTime   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
lcom 0
cbo 0
dl 0
loc 35
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
C getDifferenceAsString() 0 24 8
1
<?php
2
3
namespace N98\Util;
4
5
use DateTime as PhpDateTime;
6
7
class DateTime
8
{
9
    /**
10
     * Returns a readable string with time difference
11
     *
12
     * @param PhpDateTime $time1
13
     * @param PhpDateTime $time2
14
     *
15
     * @return string
16
     */
17
    public function getDifferenceAsString(PhpDateTime $time1, PhpDateTime $time2)
18
    {
19
        if ($time1 == $time2) {
20
            return '0';
21
        }
22
23
        $interval = $time1->diff($time2);
24
        $years    = $interval->format('%y');
25
        $months   = $interval->format('%m');
26
        $days     = $interval->format('%d');
27
        $hours    = $interval->format('%h');
28
        $minutes  = $interval->format('%i');
29
        $seconds  = $interval->format('%s');
30
31
        $differenceString
32
            = ($years ? $years . 'Y ' : '')
33
            . ($months ? $months . 'M ' : '')
34
            . ($days ? $days . 'd ' : '')
35
            . ($hours ? $hours . 'h ' : '')
36
            . ($minutes ? $minutes . 'm ' : '')
37
            . ($seconds ? $seconds . 's ' : '');
38
39
        return trim($differenceString);
40
    }
41
}
42