[VBS] Date et Heure (format) [Résolu]

Messages postés
33
Date d'inscription
vendredi 18 octobre 2002
Dernière intervention
31 mars 2009
- - Dernière réponse : papoow
Messages postés
5
Date d'inscription
vendredi 29 septembre 2006
Dernière intervention
19 juillet 2010
- 5 févr. 2010 à 23:32
Bonjour,

Actuellement pour obtenir la date et l'heure j'utilise la commande "NOW".
Exemple de résultat : 06/03/2007 09:29:53
Autrement dit, le format est le suivant : JJ/MM/AAAA HH:MM:SS


Je souhaiterais générer la date et l'heure au format suivant :

AAMMJJ_HHMMSS

A=ANNEE
M=MOIS
J=JOUR

H=HEURE
M=MINUTE
S=SECONDE

Quelles sont les solutions possibles SVP ?

Merci d'avance
Cordialement
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
3
Merci
FormatDateTime oui, mais pas de Format.

autre solution :

Function Pad2(Str)
   If Len(Str) = 1 Then
       Pad2 = "0" & Str
   Else
       Pad2 = Str
   End If
End Function<hr />
Function FormatTri(vsDate)
 FormatTri = Pad2(Right(Year(vsDate), 2)) & _
             Pad2(Month(vsDate)) & _
             Pad2(Day(vsDate)) & _
                 "_" & _
             Pad2(Hour(vsDate)) & _
             Pad2(Minute(vsDate)) & _
             Pad2(Second(vsDate))
End Function , ----
By Renfield
et ensuite :

MsgBox FormatTri(Now)

Renfield
Admin CodeS-SourceS- MVP Visual Basic

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
47
0
Merci
Salut,
Essaie ceci

MsgBox Format(Now, "YYMMDD_HHNNSS")

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
47
0
Merci
Salut,
Inutile le MP continuons plutot le thread ici:

    Bonjour,
    Dans un fichier .VBS j'ai donc indiqué la ligne suivante :
        MsgBox Format (Now, "YYMMDD_HHNNSS")
    Malheureusement, je reçois le message d'erreur suivant :
        Caractère : 1
        Erreur : type incompatible 'Format'
        Code : 800A000D
        Source : Erreur d'execution Microsoft VBScript

        Merci de ton aide.

Peu être parce que Format n'est pas reconnu par VbScript. Je regarde
@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
47
0
Merci
Re,
Regarde ceci:
Sinon essaie de taper Format VBS dans Google Groupe il y a pas mal de discutions qui porte sur ce sujet

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
concernant le Replicating VB's Format() function dans le lien donné par jrivet...
testé y'a quelques mois, ca marche nikel

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
33
Date d'inscription
vendredi 18 octobre 2002
Dernière intervention
31 mars 2009
0
Merci
Le lien ci-dessus est fort interressant, mais en parallèle je viens d'écrire ce script, qui permet de répondre à mon besoin.

' TRANSFORMER 06/03/2007 09:29:53 EN 20070306_092953 (pour un nom de fichier)
' Les objectifs sont les suivants
' Supprimer les / et les : (interdit dans un nom de fichier)
' Séparer et inverser jour/mois/année et année/mois/jour (pour un classement plus précis)

DateHeure = Now

'06/03/2007 09:29:53

Annee = Mid(Now, 7, 4)
Mois = Mid(Now, 4, 2)
Jour = Mid(Now, 1, 2)

Heures = Mid(Now, 12, 2)
Minutes = Mid(Now, 15, 2)
Secondes = Mid(Now, 18, 2)

AAAAMMJJ_HHNNSS = Annee & Mois & Jour & "_" & Heures & Minutes & Secondes

' 20070306_092953

wscript.echo Now & " est devenu désormais " & AAAAMMJJ_HHNNSS
Commenter la réponse de PARKER13
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
DANGEREUX, gare !

Now utilise les parametres regionnaux de TON poste.
sur un autre poste, tes découpages donneront un tout autre résultat.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
33
Date d'inscription
vendredi 18 octobre 2002
Dernière intervention
31 mars 2009
0
Merci
Bien vu Renfield, tu as raison... selon les paramètres régionnaux de l'ordinateur qui execute ce script, mes "découpages" seront alors erronés.
Commenter la réponse de PARKER13
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
20 juillet 2008
0
Merci
Ton découpage devrait fonctionner avec les fonctions

YEAR (Now()) qui te donnera l'année
MONTH (Now())
DAY (Now())

La syntaxe n'est sans doute pas précise mais en faisant une petite recherche tu devrait trouver la bonne.

Joe Patent
Commenter la réponse de JoePatent
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
Merci JoePatent .... on lui a bien indiqué les même fonctions ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Dernière intervention
24 juin 2018
26
0
Merci
 Bonsoir à tous

Un petit peu de gymnastique...

' Tableau des ID de langue (LCID)
' Anglais – Royaume-Uni en-gb => 2057 (Valeur décimale)
' Anglais – États-Unis  en-us => 1033
' Français - France     fr-fr => 1036



MsgBox GetLocale() &vbCrLf& FormatDateTime(Date,2) & " " & FormatDateTime(Time,3)



'Sauvegarde des paramètres régionaux en cours
Dim currentLocale_fr : currentLocale_fr = GetLocale



'Modifie les paramètres régionaux globaux
Dim original : original = SetLocale("en-us")



'Dim original : original = SetLocale("en-gb")
'Dim original : original = SetLocale("es-es")



Select Case GetLocale()
   Case 1036 'fr-fr

        MsgBox "ici date = fr-fr " & GetLocale() &vbTab& Date &vbCrLf& _
               Mid(Date,9,2) & Mid(Date, 4, 2) & Left(Date,2) &_
               "_" & Replace(FormatDateTime(Time,3),":",""),,"Date fr-fr transformée"



   Case 1033 'en-us
        MsgBox "ici date = en-us " & GetLocale() &vbTab& Date &vbCrLf& _
               FormatDateTime(Date,2) & " " & FormatDateTime(Time,3)
       Date1_us = Split(FormatDateTime(Date,2),"/")       If Len(date1_us(0)) 1 Then date1_us(0) 0 & date1_us(0)       If Len(date1_us(1)) 1 Then date1_us(1) 0 & date1_us(1)
  
       Date2_us = Split(FormatDateTime(Time,3),":")       If Len(date2_us(0)) 1 Then date2_us(0) 0 & date2_us(0)       If Right(FormatDateTime(Time,3),2) "PM" Then date2_us(0) date2_us(0) + 12
 
       MsgBox Right(date1_us(2),2) & date1_us(0) & date1_us(1) & "_" &_
              date2_us(0) & date2_us(1) & Left(date2_us(1),2),,"Date en-us transformée"



       Case 2057 'en-gb
            MsgBox "ici date = en-gb " & GetLocale() &vbTab& Date &vbCrLf& _
                   Mid(Date,9,2) & Mid(Date, 4, 2) & Left(Date,2) & _
                   "_" & Replace(FormatDateTime(Time,3),":",""),,"idem que fr-fr"



       Case Else
            MsgBox "autres paramètres régionaux " & GetLocale() &vbTab&_
                   Date & " " & FormatDateTime(Time,3)
     
End Select



'Restauration des paramètres régionaux
original = SetLocale(currentLocale_fr)



MsgBox GetLocale() &vbCrLf& FormatDateTime(Date,2) & " " & FormatDateTime(Time,3)







jean-marc
Commenter la réponse de cs_JMO
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
un grand malade ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
4
Date d'inscription
mercredi 7 juin 2006
Dernière intervention
19 avril 2007
0
Merci
oui moi j'ai utiliser Ca:

madate = Year(Now) & "-" & Month(Now) & "-" & Day(now) & "_" & Hour(Now) & "H" & Minute(Now)

tu peux ajouter les seconde si besoin
Commenter la réponse de bengouap
Messages postés
5
Date d'inscription
vendredi 29 septembre 2006
Dernière intervention
19 juillet 2010
0
Merci
Parker13

Merci pour ton post et ta recherche
J'avais le même besoin :)

Renfield

Merci pour ta réponse précise et en ligne avec le besoin

Cordialement Papoow

Merci au Forum :)
Commenter la réponse de papoow

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.