Conversion date heure / date julienne et inverse - visual basic

Contenu du snippet

Conversion des dates / heures en date julienne de valeur réelle...

et l'inverse également

Très utile pour les utilisateurs AutoCAD !!!

Voir les variables du dessin TDCREATE et TDUPDATE qui correspondent respectivement à la date de création du dessin et à la dernière date de modification....et ceci sans tenir compte des éléments dates du fichier lui même....

Source / Exemple :


Public Function DateVersDateJulienne(ByVal vDate As String) As Long
    On Error Resume Next
    Dim s As String
    '------------------------------------------------
    '
    '   vDate est au format 31/12/2000 (dd/MM/yyyy)
    '
    '   Valeur mini : 01/01/0100 ou maxi 31/12/9999
    '
    '------------------------------------------------
    s = Format(CDate(vDate), "dd/MM/yyyy")
    If s <> "" Then
        DateVersDateJulienne = DateDiff("d", "0", s) + 2415019
        If DateVersDateJulienne < 1757585 Then
                DateVersDateJulienne = 0
        ElseIf DateVersDateJulienne > 5373484 Then
                DateVersDateJulienne = 0
        End If
    End If
End Function

Public Function DateJulienneVersDate(ByVal DateJulienne As Double) As String
    On Error Resume Next
    Dim vDateJulienne As Long
    vDateJulienne = CLng(Fix(DateJulienne))
    '------------------------------------------------
    '
    '   Valeur mini : 01/01/0100 ou maxi 31/12/9999
    '
    '------------------------------------------------
    If (vDateJulienne > 1757585) And (vDateJulienne < 5373484) Then
        DateJulienneVersDate = Format(CDate(vDateJulienne - 2415019), "dd/MM/yyyy")
    End If
End Function

Public Function HeureJulienneVersHeure(ByVal DateJulienne As Double) As String
    On Error Resume Next
    Dim Secondes As Long
    Dim mHeures As Integer
    Dim mMinutes As Integer
    Dim mSecondes As Integer
    
    Secondes = (86400 * (DateJulienne - Fix(DateJulienne)))

    mHeures = Int(Secondes / 3600)
    mMinutes = Int((Secondes - (3600 * mHeures)) / 60)
    mSecondes = Secondes - (3600 * mHeures) - (60 * mMinutes)

    HeureJulienneVersHeure = Format(mHeures, "00") & Format(mMinutes, "00") & Format(mSecondes, "00")

End Function

Public Function DateNowVersDateJulienne() As String
    On Error Resume Next
    Dim s As Date
    Dim mDate As String
    Dim ms As Long, mm As Long, mh As Long
    Dim mHorloge As String
    s = Now
    
    mDate = Format(s, "dd/MM/yyyy")
    mHorloge = Format(s, "Hh:Nn:Ss")
    ms = Second(mHorloge)
    mm = Minute(mHorloge)
    mh = Hour(mHorloge)
    
    DateNowVersDateJulienne = Trim("" & DateVersDateJulienne(mDate)) & "." & Trim("" & ((mh * 3600) + (mm * 60) + ms))
    
End Function

Conclusion :


DateNowVersDateJulienne sera utile pour réaffecter les variables du dessin AutoCAD TDUPDATE et TDCREATE

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.