Comment convertir un nombre donné de jours de l'année, le mois et le jour dans MySQL?

J'essaie d'obtenir la date et de la durée de temps entre l'Emprunt souscrit et Payé date. J'ai utilisé le PHP fonctions de date et heure, mais il n'est pas toujours exacte. Comment puis-je le faire avec précision dans MySQL?

Nous supposons que deux dates, L'Emprunt date

2009-05-24

et de l'Emprunt date de retour

2012-04-30

- Je écrire une requête MySQL

SELECT DATEDIFF('2012-04-30', '2009-05-24') `total_days`;

retour 1072 jours, ce qui est à peu près 2 Ans, 11 Mois et 12 Jours.

Veuillez ne pas répondre avec du code PHP, j'ai déjà essayer. Ici, c'est le
code.

La fonction ci-dessous utilise le PHP >= 5.3 fonctions et les convertir en quelques jours à des années, des mois et des jours.

function date_interval($date1, $date2)
{
    $date1 = new DateTime($date1);
    $date2 = new DateTime($date2);

    $interval = date_diff($date2, $date1);
    return ((($y = $interval->format('%y')) > 0) ? $y . ' Year' . ($y > 1 ? 's' : '') . ', ' : '') . ((($m = $interval->format('%m')) > 0) ? $m . ' Month' . ($m > 1 ? 's' : '') . ', ' : '') . ((($d = $interval->format('%d')) > 0) ? $d . ' Day' . ($d > 1 ? 's' : '') : '');
}

La fonction ci-dessous utilise le PHP >= 5.2 fonctions et les convertir en quelques jours à des années, des mois et des jours.

function date_interval($date1, $date2)
{
    $diff = abs(strtotime($date2) - strtotime($date1));

    $years = floor($diff / (365 * 60 * 60 * 24));
    $months = floor(($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24));
    $days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24));

    return (($years > 0) ? $years . ' Year' . ($years > 1 ? 's' : '') . ', ' : '') . (($months > 0) ? $months . ' Month' . ($months > 1 ? 's' : '') . ', ' : '') . (($days > 0) ? $days . ' Day' . ($days > 1 ? 's' : '') : '');
}
Combien de jours sont là dans un mois? 28? 29? 30? 31?
Vous aurez probablement besoin d'une procédure stockée ou une fonction pour le faire dans MySQL.

OriginalL'auteur Madan Sapkota | 2012-05-26