daniel-plewinski
9/22/2017 - 12:43 PM

DateTime PHP

Funkcja, która zwraca convertDate($date, $days, $hours, $minutes, $seconds), która zwróci zmodyfikowaną datę wg. zasad:

Do przekazanej jako argument daty np. 19.10.2016 15:14:24 dodana ma zostać odpowiednia ilość dni, godzin, minut i sekund Przekazane wartości mogą być również ujemne, wówczas odpowiednią ilość należy odjąć od daty

<?php
function convertDate($date, $days, $hours, $minutes, $seconds) {
    $dateTime = new DateTime($date);
    if ($days > 0) {
        $dateTime->modify("+ $days days");
    } else {
        $dateTime->modify("- ".abs($days)." days");
    }
    if ($hours > 0) {
        $dateTime->modify("+ $hours hours");
    } else {
        $dateTime->modify("- ".abs($hours)." hours");
    }
    if ($minutes > 0) {
        $dateTime->modify("+ $minutes minutes");
    } else {
        $dateTime->modify("- ".abs($minutes)." minutes");
    }
    if($seconds > 0){
        $dateTime->modify("+ $seconds seconds");
    }else{
        $dateTime->modify("- ".abs($seconds)." seconds");
    }
    echo $dateTime->format("d.m.Y H:i:s");
}
#$date = '19.10.2016 15:14:24';
#convertDate($date, 3, 1, 0, 15);
//zwróci 22.10.2016 16:14:39
$date = '19.10.2016 15:14:24';
convertDate($date, -4, -2, 9, 15);
//zwróci 15.10.2016 13:23:39