Les Snippets

Connexion

Determiner si une année est bissextile

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 19/10/2006 08:55:50 et initié par Renfield [Liste]
Date de mise à jour : 23/10/2006 21:20:02
Vue : 56423
Catégorie(s) : Date & Heure
Langages dispo pour ce code :
- VB6, VBA
- C, C++
- C# 1.x, C# 2.x
- VB6, VBA, VBScript
- Windev
- VB6, VBA
- VB 2005, VB6, VBScript
- VB6, VBA
- Delphi 5
- Java
- SQL, SQL 2005
- VB 2005, VB 2008
- PHP 4, PHP 5
- Tcl
- Python



Langage : VB6 , VBA
Date ajout : 19/10/2006
Posté par Renfield [Liste]
DateMAJ : 23/10/2006
Public Function IsLeapYear(ByVal vzInput As Variant) As Boolean
Dim nYear As Integer
    If VarType(vzInput) = vbDate Then
        nYear = DatePart("YYYY", vzInput)
    ElseIf IsNumeric(vzInput) Then
        nYear = vzInput
    Else
        Exit Function
    End If
    IsLeapYear = IsDate(nYear & "-02-29")
End Function
Remarque :
possibilité de lui passer une date (la fonction considerera l'année de la date fournie)
ou de passer l'année :

a = IsLeapYear ( #10/19/2006# )
ou
a = IsLeapYear ( 2006 )
Langage : C , C++
Date ajout : 19/10/2006
Posté par Renfield [Liste]
DateMAJ : 20/10/2006
#define IsLeapYear(vYear)  ((!(vYear & 3) && (vYear % 100)) || !(vYear % 400))

Langage : C# 1.x , C# 2.x
Date ajout : 19/10/2006
Posté par MorpionMx [Liste]

DateTime.IsLeapYear(annee);

Langage : VB6 , VBA , VBScript
Date ajout : 19/10/2006
Posté par EBArtSoft [Liste]
DateMAJ : 19/10/2006

Public Function IsLeapYear(ByRef d As Variant) As Boolean
    Select Case VarType(d)
    Case vbDate: Dim f&: f = Year(d): IsLeapYear = ((f Mod 4 = 0) And (f Mod 100)) Or (f Mod 400 = 0)
    Case vbLong, vbInteger, vbByte:   IsLeapYear = ((d Mod 4 = 0) And (d Mod 100)) Or (d Mod 400 = 0)
    End Select
End Function

Langage : Windev
Date ajout : 19/10/2006
Posté par Elian Lacroix [Liste]
Info("bissextile ? "+DateValide(<AAAA>+"0229"))
Langage : VB6 , VBA
Date ajout : 19/10/2006
Posté par mortalino [Liste]
Function IsLeapYear(ByVal vYear As Variant) As Boolean
    If VarType(vYear) = vbDate Then
        If DateDiff("d", CDate("01/01/" & DatePart("YYYY", vYear)), _
                         CDate("31/12/" & DatePart("YYYY", vYear))) = 365 Then IsLeapYear = True
    ElseIf IsNumeric(vYear) Then
        If DateDiff("d", CDate("01/01/" & vYear), _
                         CDate("31/12/" & vYear)) = 365 Then IsLeapYear = True
    End If
End Function

Sub Exemple_Utilisation()
    MsgBox IsLeapYear(2004) ' retourne vrai
    MsgBox IsLeapYear(Date) ' retourne faux
End Sub
Remarque :
Encore une autre technique...
Langage : VB6 , VB 2005 , VBScript
Date ajout : 22/10/2006
Posté par labout [Liste]
DateMAJ : 23/10/2006

Function isBissext(annee)
Dim ddate 
    ddate = CDate("28/02/" & annee)

    If Month(ddate+1) = 2 Then
        isBissext = True
    Else
        isBissext = False
    End If
End Function

Langage : VB6 , VBA
Date ajout : 23/10/2006
Posté par PCPT [Liste]
DateMAJ : 23/10/2006
Function IsLeapYear(iYear%) As Boolean
    IsLeapYear = IsDate("29/02/" & CStr(iYear))
End Function

Langage : Delphi 5
Date ajout : 24/10/2006
Posté par cirec [Liste]
{Tout simplement}
If IsLeapYear(Annee) Then ...

Langage : Java
Date ajout : 04/03/2007
Posté par Ombitious_Developper [Liste]

import java.util.GregorianCalendar;
boolean estBessextile (int year) {
    return new GregorianCalendar ().isLeapYear (year);
}

Langage : SQL , SQL 2005
Date ajout : 29/03/2007
Posté par pifou25 [Liste]
CREATE FUNCTION IsLeapYear (@Annee AS int) 
RETURNS bit
AS
BEGIN
    Declare @Date29Fev AS Datetime
    Declare @Result AS bit
    SET @Date29Fev  = DATEADD(DAY, -1, Cast('01/03/'+Cast(@Annee AS varchar(4)) AS datetime))
    IF Day(@Date29Fev )=29    
        SET @Result =1
    ELSE
        SET @Result = 0
    return @Result
END

Remarque :
vérifié sous SQL server 2000 ça doit marcher également pour le 2005.
Langage : VB 2005 , VB 2008
Date ajout : 25/06/2008
Posté par gillardg [Liste]

'year est une année repréntée par 4 chiffres 

System.DateTime.IsLeapYear(year)

Langage : PHP 4 , PHP 5
Date ajout : 11/07/2008
Posté par JoJo738 [Liste]
function is_leap_year($year)
{
    if( ( $year % 100 == 0 && $year % 400 == 0 ) OR ( $year % 100 != 0 && $year % 4 == 0 ) )
    {
        return true;
    }
    return false;
}
Langage : Tcl
Date ajout : 27/07/2009
Posté par gersoo [Liste]
proc IsLeapYear1 {vYear} {
 set y3    [expr !($vYear & 3)]
 set y100 [expr {$vYear % 100}]
 set y400 [expr {$vYear % 400}]
 return [expr ($y3 != 0) && ($y100 != 0) || ($y400 == 0)]
}

Langage : Python
Date ajout : 29/05/2011
Posté par pecten [Liste]
def IsLeapYear(year):
    return not(year & 3) and year%100!=0 or not(year%400)


Snippets en rapport avec : Bissextile, Leap, Année, Fevrier, Calendrier



Codes sources en rapport avec : Bissextile, Leap, Année, Fevrier, Calendrier

{PHP} CALENDRIER ANNUEL AVEC NUMÉRO DE SEMAINE
Code permettant d'afficher le calendrier annuel avec affichage du numéro de semaine (ISO-8601, >= PH...

{JAVA / J2EE} CALCUL LE JOUR SUIVANT D'UNE DATE EN FONCTION DES ANNÉES BISSEXTILE ET LE NOMBRE DE JOURS DANS CHAQUE MOIS.
Calcule et affiche le jour suivant d'une date en fonction des années bissextile et le nombre de jour...

{Visual Basic, VB6, VB.NET, VB 2005} CALENDRIER SOUS VBA (EXCEL)
Ce code permet de sélectionner une date dans un calendrier Le nombre de jour par mois et défini Le...

{C / C++ / C++.NET} CALCUL AGE V2
Calcul l'age en fonction des saisies utilisateur (année, mois, jour naissance) Prend en compte les ...

{PHP} [CLASSE PHP] MINI CALENDRIER AVEC LES 12 MOIS AFFICHÉS
Voila ce petit script affiche 12 petits calendriers (1 par mois :D). La date du jour en cours est s...

{ASP / ASP.NET} VÉRIFICATION D'UNE DATE AVEC GESTION DES ANNÉES BISSEXTILE
Ce code permet entre autre de vérifier une date. Il existe des codes similaires sur aspfr, mais elle...

{Javascript / DHTML} CALENDRIER DE BASE
C'est un calendrier de base, permettra de développer comme agenda, calendrier des club, les activité...

{Visual Basic, VB6, VB.NET, VB 2005} CALENDRIER RÉPUBLICAIN
Ce calendrier s'adresse surtout à ceux qui s'intéressent à la généalogie. Il convertit les dates du...

{C# / C#.NET} AGENDA AVEC CALENDRIER SOUS FORME DE ROUES
Voici une petite application qui fait office d'agenda et qui est une modification du code de Robert3...

{SQL} CALENDRIER POUR SQL SERVER
pour creer une table calendrier, vu l'inexistance de fonction native sur sql server. la procedur pe...