begin process at 2012 02 11 11:26:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date & Heure

 > JOUR JULIEN, DATE JULIENNE

JOUR JULIEN, DATE JULIENNE


 Information sur la source

Note :
4,71 / 10 - par 7 personnes
4,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date & Heure Niveau :Débutant Date de création :13/05/2003 Date de mise à jour :14/05/2003 20:08:42 Vu :6 698

Auteur : dpouliot

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

fonction qui retourne le numéro du jour de l'année.
Peut-être trop simple... mais n'était pas évident.
Cet exemple utilise une fenêtre VB avec 2 zones texte et un bouton.
    

Source

  • Private Sub Command1_Click()
  • On Error Resume Next ' si format non valide
  • Text2.Text = ""
  • ' Inscrire dans text1 une date valide
  • Text2.Text = JourJulien(Text1.Text)
  • End Sub
  • ' *************************************************
  • Function JourJulien(dDate As Date) As Integer
  • Dim oDate As Date
  • oDate = Left(dDate, 4) & "/01/01" ' premier jour de l'année
  • JourJulien = dDate - oDate + 1 ' Le résultat ;)
  • End Function
  • ' *************************************************
Private Sub Command1_Click()

On Error Resume Next    ' si format non valide

Text2.Text = ""
' Inscrire dans text1 une date valide
Text2.Text = JourJulien(Text1.Text)
End Sub

' *************************************************
Function JourJulien(dDate As Date) As Integer
Dim oDate As Date

oDate = Left(dDate, 4) & "/01/01"   ' premier jour de l'année
JourJulien = dDate - oDate + 1      ' Le résultat ;)

End Function
' *************************************************
    

 Conclusion

Le résultat est bon pour toute année, même les années de 366 jours.
Valide pour les formats reconnus , "aaaa/mm/jj", "jj/mm/aaaa" ...
L'idée de base soustraire les dates... ;)
Si cela vous a aidé, svp me l'indiquer. Merci


 Sources du même auteur

Source avec Zip SAVOIR LE NOM DU RÉPERTOIRE DE L'EXÉCUTABLE
Source avec Zip Source avec une capture CONVERSION : OCTETS, KILO, MEGA, TERA, ETC. ADDITION ET SOUS...

 Sources de la même categorie

Source avec Zip Source avec une capture LES FONCTIONS DATE PAR L'EXEMPLE. par pasquet78
Source avec Zip Source avec une capture CALENDRIER, MODE D'EMPLOI par pasquet78
Source avec Zip Source avec une capture Source .NET (Dotnet) HORLOGE DIODE AVEC 3 ALARMES ET REMISE À L'HEURE par EhJoe
Source avec Zip Source avec une capture POINTEUSE HORAIRES PAR SEMAINE par VBNoob13
Source avec Zip Source avec une capture HORLOGE À AIGUILLES SIMPLEMENT DANS UN USERFORM EXCEL par bigbe

Commentaires et avis

Commentaire de HeXoR le 13/05/2003 18:18:22

Ca sert un peu BEAUCOUP à rien 1/10 :)

Commentaire de Jujufouq le 13/05/2003 21:44:33

Et alors, c'est une source qui peut servir et puis au moins c'est une source, et puis en plus elle explique quelque chose. Alors HeXoR, je suis désolé, mais je trouve ta réaction pas normale. dpouliot au moins pense aux autres... et ce site est là aussi pour ses sources quelles qu'elles soient. Je fais remonter la note parce que je ne pense pas qu'il faille 1, mais plutot 5 à cause de l'intérêt.

Commentaire de Renfield le 13/05/2003 22:01:07 administrateur CS

meme remarque , c'est un peu exagéré comme réaction , c'est une astuce qui peut servir.....

Commentaire de erreurs404 le 14/05/2003 10:09:09

pourquoi "01/01" on est encore en 2001 ???
nan sérieusement ... c'est quoi ?

Commentaire de Renfield le 14/05/2003 10:12:24 administrateur CS

premier javnvier , l'année est au debut !
on recupere l'année , on ajoute 01/01 , et on a un type Date , qui contient la date du premier jour de l'annee.

une soustraction donne finalement la difference : le nombre du jour courant.

Commentaire de bykounour le 05/06/2003 14:57:54

Contrairement à ce que tu crois HeXoR ben elle sert cette source, je suis bien content je cherchais et je viens de trouver ce qu'il me faut!
Youpi

Commentaire de Jujufouq le 05/06/2003 18:40:36

Au fait, ça vient d'où le nom de Jour Julien? En fait, je ne connaissait pas, et comme mon p'tit nom c'est le même, j'aurai aimé savoir... Peut-être que si quelqu'un sait il peut m'écrire un message plutôt que de le faire ici. Allez, salut tlm!

Commentaire de Cadryal le 04/08/2003 20:12:58

Tient JuJu, pour alimenter ton érudition historique concernant les dates.
http://louisg.levillage.org/C_julien.htm

Commentaire de Cadryal le 04/08/2003 20:30:55

En passant, bravo dpouliot, ce code est bien optimisé.

Pour son utilité, c'est encore plus utile que l'on peut le croire. Dans des bases de données des grande envergure sur des céduleurs qui fonctionnent sur des systèmes centraux d'acienne génération(TSO, IDEAL), les formats de dates fonctionnent généralement sur le calendrier Julien.

Mis à part certaines application SQL, la programmation de nos jours ne requière que des dates sous le format Grégorien.

Commentaire de Jujufouq le 04/08/2003 23:30:35

Merci Cadryal.

Commentaire de iurodivi le 22/12/2003 01:30:38

pour HeXoR:
pourquoi critiquer quand on ne connait pas?!

cela est tres utile

Commentaire de ramanvda le 23/03/2005 10:16:45

Cela ne fonction pas chez moi...Dommage car cela m'aurait bien intéréssé.

Le prog bloque ici:
oDate = Left(dDate, 4) & "/01/01"    ' premier jour de l'année

J'ai essayé avec 13/01/2003, 13/01/03, 2003/01/03...rien ne passe.

J'ai essayé cela mais sans résultat:
oDate = CDate(Left(CStr(dDate), 4) & "/01/01")    ' premier jour de l'année

help!

Commentaire de dpouliot le 23/03/2005 17:36:05

Bonjour ramanvda
Vérifie le résultat de la fonction Left(dDate, 4)
Tu devrais y voir l'année ex.: "2005".
Le principe est de soustraire 2 dates.
Tu peux esseyer en inversant la fonction de date

oDate = "01/01/" & Right(dDate,4)

Écrits tes résultats sur cette page pour le bénéfice de tous.



Commentaire de Renfield le 23/03/2005 18:34:12 administrateur CS

un coup des options régionales, peut être....

Commentaire de ramanvda le 24/03/2005 14:16:39

Le text1 (la variable dDate) est stocké de la sorte: "13/01/2003" et non pas "2003/01/13". Surement pb des option régionale.

Ainsi Left(dDate, 4) renvoi "13/0" et non pas "2003" même si je rentre en text1 "2003/01/13"

Il faudrait formater la varible dDate en "yyyy/mm/dd"

Sinon cela m'a aidé à comprendre le système julien donc  10/10 pour la note (je récupérer en Query des dates juliennes sur un AS400)

Pour info voici mon bout de code en VBA (pas VB) pour convertir des dates grégoriennes en Juliennes et inversement (dans le cas de mon AS400):
'-----------------------------------------------
Function DateG(case1 As Range) As Date
Dim oDate As Date
Dim julien As Long
Dim an As String, jour

julien = CLng(case1.Text)

Select Case julien
Case Is >= 100000
an = "20" & Mid(julien, 2, 2)
Case Is < 100000
an = "19" & Mid(julien, 1, 2)
Case Else
DateG = "erreur"
End Select

jour = Right(julien, 3)
oDate = CDate("01/01/" & an)

DateG = oDate + CInt(jour)
End Function

'-----------------------------------------------
Function DateJ(case1 As Range) As Long
Dim oDate As Date
Dim greg As Date
Dim an As String, jour
Dim JourJ As Integer

greg = CDate(case1.Text)

an = Right(greg, 2)

oDate = "01/01/" & an

JourJ = greg - oDate + 1
If JourJ < 100 Then
DateJ = CLng("1" & an & "0" & JourJ)
Else
DateJ = CLng("1" & an & JourJ)
End If
End Function
'-----------------------------------------------
C'est pas top mais ça fonctionne.

Merci à tous! Chaio:!

Commentaire de Tioneb le 05/03/2006 19:03:53

Salut,
pour que ça fonctionne j'ai du modifier le code. Je le donne pour RAMANVDA (je sais pas si tu en a encore besoin, mais sinon ça servira pour quelqu'un d'autre):


Public Function JourJulien(dDate As Date) As Integer
Dim oDate As Date
  
oDate = CDate("01/01/" & Right(CStr(dDate), 4)) ' premier jour de l'année
JourJulien = dDate - oDate + 1 ' Le résultat ;)
  
End Function


Et avec ça, ça fonctionne super!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,011 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales