3v4l.org

run code in 300+ PHP versions simultaneously
<?php $start = new DateTime('2017-07-11'); $end = new DateTime('2017-08-03'); $diff = $start->diff($end); $differenceInDays = ($diff->format('%m') * 30) + $diff->format('%d'); // caso houver uma diferença menor de um mês, // deve-se verificar se não passou pelo dia 31 if ($diff->format('%m') == 0) { //cria o trigésimo primeiro dia do mês inicial $thiryFirstDayOfStartMonth = $start->format('Y-m-31'); // Cria o objeto DateTime do trigésimo primeiro dia do mês inicial // Aqui está o "truque", caso o mês possuir apenas 30 dias, // como o caso de novembro, a data 31/11/2017 será transformada em 01/12/2017 // é um comportamento padrão da biblioteca $thirtyFirstDay = DateTime::createFromFormat('Y-m-d' , $thiryFirstDayOfStartMonth); //O trigésimo primeiro dia precisa ser menor que a data final do cálculo. if ($thirtyFirstDay < $end) { //Se data criada for realmente dia 31 do mês, deve-se if ($thirtyFirstDay->format('Y-m-d') == $thiryFirstDayOfStartMonth) { $differenceInDays--; } } } var_dump($differenceInDays);

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.70.0110.00718.30
8.3.60.0140.00416.50
8.3.50.0080.01016.58
8.3.40.0100.01019.01
8.3.30.0040.01218.96
8.3.20.0080.00021.83
8.3.10.0060.00323.66
8.3.00.0000.00823.57
8.2.190.0100.00716.58
8.2.180.0140.00716.50
8.2.170.0130.00622.96
8.2.160.0100.01020.57
8.2.150.0070.00025.66
8.2.140.0080.00024.66
8.2.130.0040.00420.26
8.2.120.0000.00726.35
8.2.110.0060.00319.51
8.2.100.0080.00318.16
8.2.90.0000.00819.18
8.2.80.0080.00017.97
8.2.70.0060.00317.75
8.2.60.0000.00817.93
8.2.50.0000.00718.20
8.2.40.0070.00020.43
8.2.30.0080.00021.10
8.2.20.0070.00018.18
8.2.10.0040.00418.07
8.2.00.0020.00517.98
8.1.280.0090.00625.92
8.1.270.0000.00823.96
8.1.260.0050.00226.35
8.1.250.0040.00428.09
8.1.240.0060.00322.73
8.1.230.0080.00417.83
8.1.220.0030.00617.74
8.1.210.0050.00318.77
8.1.200.0030.00717.47
8.1.190.0000.00717.72
8.1.180.0040.00418.10
8.1.170.0060.00318.76
8.1.160.0070.00019.00
8.1.150.0000.00718.92
8.1.140.0000.00817.66
8.1.130.0000.00718.95
8.1.120.0000.00717.68
8.1.110.0040.00417.68
8.1.100.0070.00517.63
8.1.90.0030.00617.68
8.1.80.0040.00417.68
8.1.70.0030.00317.69
8.1.60.0050.00317.76
8.1.50.0070.00017.66
8.1.40.0000.00817.64
8.1.30.0050.00317.75
8.1.20.0040.00417.83
8.1.10.0020.00517.74
8.1.00.0050.00217.75
8.0.300.0000.00920.68
8.0.290.0000.00717.00
8.0.280.0030.00318.57
8.0.270.0040.00417.32
8.0.260.0070.00017.08
8.0.250.0030.00317.23
8.0.240.0050.00217.23
8.0.230.0040.00417.20
8.0.220.0000.00717.10
8.0.210.0030.00317.16
8.0.200.0040.00417.09
8.0.190.0030.00517.16
8.0.180.0000.00817.05
8.0.170.0000.00717.15
8.0.160.0030.00317.14
8.0.150.0000.00717.17
8.0.140.0000.00817.08
8.0.130.0050.00013.52
8.0.120.0090.00017.17
8.0.110.0080.00017.20
8.0.100.0030.00617.16
8.0.90.0000.00816.96
8.0.80.0030.01417.17
8.0.70.0050.00317.03
8.0.60.0040.00417.25
8.0.50.0040.00417.21
8.0.30.0120.00517.23
8.0.20.0100.01117.40
8.0.10.0030.00317.07
8.0.00.0060.01916.66
7.4.330.0030.00316.82
7.4.320.0030.00316.72
7.4.300.0040.00416.73
7.4.290.0030.00316.71
7.4.280.0030.00616.53
7.4.270.0030.00316.56
7.4.260.0060.00316.71
7.4.250.0040.00416.68
7.4.240.0040.00416.73
7.4.230.0000.00716.38
7.4.220.0030.01516.56
7.4.210.0100.01016.76
7.4.200.0070.00016.63
7.4.160.0150.00416.80
7.4.150.0070.01117.40
7.4.140.0100.01117.86
7.4.130.0090.00916.41
7.4.120.0160.00616.67
7.4.110.0100.00616.69
7.4.100.0140.00316.79
7.4.90.0060.01116.58
7.4.80.0110.00719.39
7.4.70.0120.00616.73
7.4.60.0030.01216.66
7.4.50.0110.00316.51
7.4.40.0080.00816.62
7.4.30.0090.00616.51
7.4.00.0070.01115.43
7.3.330.0050.00013.21
7.3.320.0050.00013.28
7.3.310.0060.00016.40
7.3.300.0000.00716.35
7.3.290.0130.00416.38
7.3.280.0080.00916.38
7.3.270.0120.01317.40
7.3.260.0130.00816.63
7.3.250.0110.00916.71
7.3.240.0100.00816.68
7.3.230.0000.01716.43
7.3.210.0140.00316.51
7.3.200.0090.00916.43
7.3.190.0060.01016.56
7.3.180.0120.00616.43
7.3.170.0110.00516.51
7.3.160.0180.00016.55
7.2.330.0200.00316.56
7.2.320.0170.00016.77
7.2.310.0070.01016.76
7.2.300.0060.01216.66
7.2.290.0130.00216.77
7.2.60.0090.00616.98
7.1.200.0000.01116.04
7.1.110.0110.00918.37
7.1.100.0100.01018.58
7.1.90.0030.01618.04
7.1.80.0060.01118.25
7.1.70.0020.01517.11
7.1.60.0200.01135.17
7.1.50.0100.01935.12
7.1.40.0280.01134.70
7.1.30.0220.01934.51
7.1.20.0180.01134.63
7.1.10.0170.00016.65
7.1.00.0000.01516.75
7.0.250.0030.01317.86
7.0.240.0090.01218.02
7.0.230.0100.01017.81
7.0.220.0070.01018.06
7.0.210.0040.01316.82
7.0.200.0070.00716.80
7.0.190.0100.00616.80
7.0.180.0100.00516.37
7.0.170.0050.00916.48
7.0.160.0100.00516.64
7.0.150.0060.01116.39
7.0.140.0030.01616.46
7.0.130.0070.01116.62
7.0.120.0040.01416.69
7.0.110.0030.01116.35
7.0.100.0050.01016.53
7.0.90.0060.01216.37
7.0.80.0000.01916.24
7.0.70.0120.00416.35
7.0.60.0070.00716.30
7.0.50.0030.01416.39
7.0.40.0030.01016.82
7.0.30.0030.01016.66
7.0.20.0050.01516.58
7.0.10.0090.01116.46
7.0.00.0090.00916.67

preferences:
42.59 ms | 401 KiB | 5 Q