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

PARKER13 33 Messages postés vendredi 18 octobre 2002Date d'inscription 31 mars 2009 Dernière intervention - 6 mars 2007 à 09:43 - Dernière réponse : papoow 5 Messages postés vendredi 29 septembre 2006Date d'inscription 19 juillet 2010 Dernière intervention
- 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 

14 réponses

Répondre au sujet
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 mars 2007 à 10:18
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Renfield
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 6 mars 2007 à 09:46
0
Utile
Salut,
Essaie ceci

MsgBox Format(Now, "YYMMDD_HHNNSS")

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 6 mars 2007 à 10:05
0
Utile
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
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 6 mars 2007 à 10:13
0
Utile
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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 mars 2007 à 10:20
0
Utile
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
PARKER13 33 Messages postés vendredi 18 octobre 2002Date d'inscription 31 mars 2009 Dernière intervention - 6 mars 2007 à 10:26
0
Utile
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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 mars 2007 à 10:43
0
Utile
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
PARKER13 33 Messages postés vendredi 18 octobre 2002Date d'inscription 31 mars 2009 Dernière intervention - 6 mars 2007 à 10:50
0
Utile
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
JoePatent 171 Messages postés jeudi 30 janvier 2003Date d'inscription 20 juillet 2008 Dernière intervention - 6 mars 2007 à 16:40
0
Utile
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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 mars 2007 à 18:54
0
Utile
Merci JoePatent .... on lui a bien indiqué les même fonctions ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
cs_JMO 1840 Messages postés jeudi 23 mai 2002Date d'inscription 25 avril 2018 Dernière intervention - 6 mars 2007 à 19:36
0
Utile
 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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 6 mars 2007 à 21:15
0
Utile
un grand malade ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
bengouap 4 Messages postés mercredi 7 juin 2006Date d'inscription 19 avril 2007 Dernière intervention - 19 avril 2007 à 19:50
0
Utile
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
papoow 5 Messages postés vendredi 29 septembre 2006Date d'inscription 19 juillet 2010 Dernière intervention - 5 févr. 2010 à 23:32
0
Utile
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.