Accueil > > > CONVERSION D'UN STRING EN DATE SOUS UN FORMAT DONNÉ
CONVERSION D'UN STRING EN DATE SOUS UN FORMAT DONNÉ
Information sur la source
Description
Vous connaissez la fonction format en l'utilisant avec une date: unString= format (unedate,"jj MM yy, hh:mm:ss" ) Ben la c'est le contraire: uneDate= Cdate(toDate(chaine as string, monformat as string) Cà a l'air de bien marcher, tous les formats ne sont pas acceptés, je butte un peu avec les mois écrits en lettre mais je devrais y arriver. J'attends avant tout de votre part des tests bien tordus pour évaluer cette fonction. Actuellement, la fonction se limite à comparer la position des caractères. Cà devrait satisfaire déjà beaucoup de monde.
Source
- Public Function toDate(chaine As String, format As String) As String
-
-
- Dim i As Integer
- Dim j As Integer
-
- Dim car As String
- Dim car2 As String
- Dim annee As String
- Dim mois As String
- Dim moisI As Integer
- Dim jour As String
- Dim heure As String
- Dim min As String
- Dim sec As String
- Dim datestring As String
- Dim Lettre As Integer
- Lettre = 0
- i = 1
- j = 1
- While (i < Len(format) And j < Len(chaine))
- car = Mid(format, i, 1)
- Select Case car
- Case "y"
- annee = annee & Mid(chaine, j, 1)
- Case "M"
- car2 = Mid(chaine, j, 1)
- If car2 <= "z" And car2 >= "A" And Lettre = 0 Then 'on est avec des mois sous forme de lettres
- car2 = car
- While (i < Len(format) And car2 = "M") 'je passe les mois dans le format
- car2 = Mid(format, i, 1)
- i = i + 1
- Wend
- i = i - 2 'c'est pour la boucle du while principal... j'ajuste
- car2 = Mid(chaine, j, 1)
- ' puis je cherche tous les caractères qui sont des lettres
- While (j < Len(chaine) And car2 <= "z" And car2 > "9")
- mois = mois & car2
- j = j + 1
- car2 = Mid(chaine, j, 1)
-
- Wend
- j = j - 1 'j'ajuste aussi
- Else
- mois = mois & Mid(chaine, j, 1) 'sinon c'est cool
- End If
- Case "d"
- jour = jour & Mid(chaine, j, 1)
- Case "h"
- heure = heure & Mid(chaine, j, 1)
- Case "m"
- min = min & Mid(chaine, j, 1)
- Case "s"
- sec = sec & Mid(chaine, j, 1)
- End Select
- j = j + 1
- i = i + 1
- Wend
-
-
- If Len(annee) < 2 Then
- annee = "20" & annee
- End If
-
- If Len(annee) < 4 Then
- annee = "2000"
- End If
-
- If Len(mois) < 2 Then
- mois = "00"
- End If
-
- If Len(jour) < 2 Then
- jour = "00"
- End If
-
- If Len(heure) < 2 Then
- heure = "00"
- End If
-
- If Len(min) < 2 Then
- min = "00"
- End If
-
- If Len(sec) < 2 Then
- sec = "00"
- End If
-
-
- On Error GoTo passer
- moisI = CInt(mois)
-
- Select Case moisI
- Case 1
- mois = "Janv"
- Case 2
- mois = "Févr"
- Case 3
- mois = "Mars"
- Case 4
- mois = "Avr"
- Case 5
- mois = "Mai"
- Case 6
- mois = "Juin"
- Case 7
- mois = "Juil"
- Case 8
- mois = "Août"
- Case 9
- mois = "Sept"
- Case 10
- mois = "Oct"
- Case 11
- mois = "Nov"
- Case 12
- mois = "Déc"
- End Select
-
- passer:
-
- datestring = jour & " " & mois & " " & annee & " " & heure & ":" & min & ":" & sec
-
- MsgBox datestring
-
- toDate = datestring
-
- End Function
Public Function toDate(chaine As String, format As String) As String
Dim i As Integer
Dim j As Integer
Dim car As String
Dim car2 As String
Dim annee As String
Dim mois As String
Dim moisI As Integer
Dim jour As String
Dim heure As String
Dim min As String
Dim sec As String
Dim datestring As String
Dim Lettre As Integer
Lettre = 0
i = 1
j = 1
While (i < Len(format) And j < Len(chaine))
car = Mid(format, i, 1)
Select Case car
Case "y"
annee = annee & Mid(chaine, j, 1)
Case "M"
car2 = Mid(chaine, j, 1)
If car2 <= "z" And car2 >= "A" And Lettre = 0 Then 'on est avec des mois sous forme de lettres
car2 = car
While (i < Len(format) And car2 = "M") 'je passe les mois dans le format
car2 = Mid(format, i, 1)
i = i + 1
Wend
i = i - 2 'c'est pour la boucle du while principal... j'ajuste
car2 = Mid(chaine, j, 1)
' puis je cherche tous les caractères qui sont des lettres
While (j < Len(chaine) And car2 <= "z" And car2 > "9")
mois = mois & car2
j = j + 1
car2 = Mid(chaine, j, 1)
Wend
j = j - 1 'j'ajuste aussi
Else
mois = mois & Mid(chaine, j, 1) 'sinon c'est cool
End If
Case "d"
jour = jour & Mid(chaine, j, 1)
Case "h"
heure = heure & Mid(chaine, j, 1)
Case "m"
min = min & Mid(chaine, j, 1)
Case "s"
sec = sec & Mid(chaine, j, 1)
End Select
j = j + 1
i = i + 1
Wend
If Len(annee) < 2 Then
annee = "20" & annee
End If
If Len(annee) < 4 Then
annee = "2000"
End If
If Len(mois) < 2 Then
mois = "00"
End If
If Len(jour) < 2 Then
jour = "00"
End If
If Len(heure) < 2 Then
heure = "00"
End If
If Len(min) < 2 Then
min = "00"
End If
If Len(sec) < 2 Then
sec = "00"
End If
On Error GoTo passer
moisI = CInt(mois)
Select Case moisI
Case 1
mois = "Janv"
Case 2
mois = "Févr"
Case 3
mois = "Mars"
Case 4
mois = "Avr"
Case 5
mois = "Mai"
Case 6
mois = "Juin"
Case 7
mois = "Juil"
Case 8
mois = "Août"
Case 9
mois = "Sept"
Case 10
mois = "Oct"
Case 11
mois = "Nov"
Case 12
mois = "Déc"
End Select
passer:
datestring = jour & " " & mois & " " & annee & " " & heure & ":" & min & ":" & sec
MsgBox datestring
toDate = datestring
End Function
Conclusion
Le Zip présente une application toute con de la fonction
Historique
- 10 août 2004 15:16:04 :
- Ben voilà ca gère les mois avec des lettres. Remarquez que lorsque les ois sont en lettre le nombre de caractère M dans le format n'est plus important.
- 21 janvier 2006 18:22:56 :
- Ajout de mot-clés pour la recherche textuelle.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Convertir données num au format texte dans un format numérique [ par Melinda ]
slt, j'ai effectuer l'importation d'un fichier .txt sous Excel.j'ai des données nuérique mais celles qui sont décimales sont représentées comme des do
Transformer un string en date [ par nicobou ]
Bonjour,J'ai un soucis de date. Je récupére un fichier sur un site internet avec mon programme vb, et l'idée est de comparer la date de derniére modif
Convertir la date de installdate en format dword en format date lisible ? [ par rastapopey ]
Voila, je souhaite recuperer la date d'install d'un poste en lisant la valeur de la date d'install dans la registrySOFTWARE\MICROSOFT\WINDOWS NT\CURRE
convertir texte en date [ par bossun ]
salut, dans ma BD j'ai un champs texte mais écris sous cette forme 15/02/2003. j'aimerais savoir si on peut utiliser cette valeur comme étant une date
convertir une date en texte: [ par yassineee ]
convertir une date en texte:bonjour,l'attribut [date dt] est déclarer de type date/heure dans ma base ,et quand je récupére le contenudu champ date av
Format Date, URGENT!!! [ par didi83 ]
Bonjour à tous, J'ai essayé d'ajouter à un texte la date sur access. J'ai mis setfocus ensuite je voulais mettre la date dans le texte
Problème de format date [ par Herminator ]
Bonjour à tous, J'ai fais une connection en ADO sur un fichier .mdb (access97). J'ai un problème pour extraire la date la plus récente
convertir une chaine en une date - complications :-s [ par youkizouki ]
bonjour à tous,je possède une chaine de caractère représentant une date, je dois pour les besoin de mon applic comparer cette chai
Convertir date français en date US [ par bonbone ]
BONJOUR,J'utilise Access (VBA), j'ai créé des formulaires, dans l'un d'eux je récupére la liste de toutes les dates dans une listbox (date en format f
Convertir date+heure en string vers FILETIME [ par violent_ken ]
Violent Ken Bonjour, j'aimerais pouvoir convertir une string au format "DD-MM-YYYY HH:MM:SS" (ou autre, mais avec date et time dans une même s
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|