Documentation de Gambas - /lang/datediff

/lang/datediff

# DateDiff

Compteur = DateDiff ( Date1 AS Date , Date2 AS Date , Periode AS Integer ) AS Integer

Renvoie le nombre de périodes entre deux dates.

- _ Date1_ est la partie supérieure du jour.

- _ Date2_ est la partie inférieure du jour.

- _ Periode_ est la nature de la période : année, mois, jour, semaine...

Le nombre de périodes est retourné.

Periode peut être l'une des constantes suivantes:

Constante | Effet
--- | ---
`gb.Second` | Retourne le nombre de secondes.
`gb.Minute` | Retourne le nombre de minutes.
`gb.Hour` | Retourne le nombre d'heures.
`gb.Day` | Retourne le nombre de jours.
`gb.Week` | Retourne le nombre de semaines.
`gb.Weekday` | Retourne le nombre de jours de la semaine (ignore samedi et dimanche).
`gb.Month` | Retourne le nombre de mois.
`gb.Quarter` | Retourne le nombre de trimestres.
`gb.Year` | Retourne le nombre d'années.

Seul l'ensemble des périodes est retourné. Le résultat est arrondi.

### Exemples

    PRINT DateDiff("01/02/2005 12:55:00", "01/01/2005", gb.Day)

    -1

Cet exemple montre comment fonctionne l'intérieur de dateDiff

    DIM date1 AS Date
    DIM date2 AS Date
    DIM fDiff AS Float
    DIM iDiff AS Integer

    date1 = Date(1964, 02, 28, 0, 29, 0)
    date2 = Date(1964, 03, 01, 0, 30, 0) ' Deux jours plus une minute
    fDiff = CFloat(date2) - CFloat(date1)
    iDiff = Int(fDiff * 24)
    PRINT "Première : "; fdiff; "  int:"; idiff; "  DateDiff :"; DateDiff(date1, date2, gb.Hour)
    date1 = Date(1964, 02, 28, 0, 30, 0)
    date2 = Date(1964, 03, 01, 0, 29, 0) ' Deux jours moins une minute
    fDiff = CFloat(date2) - CFloat(date1)
    iDiff = Int(fDiff * 24)
    PRINT "Deuxième : "; fdiff; "  int:"; idiff; "  DateDiff :"; DateDiff(date1, date2, gb.Hour)

    Première : 2.000694444403  int:48  DateDiff :48
    Deuxième : 1.999305555597  int:47  DateDiff :47

### Voir aussi

- Fonctions de date et de temps