[VBS] Date et Heure (format)

Résolu
PARKER13 Messages postés 33 Date d'inscription vendredi 18 octobre 2002 Statut Membre Dernière intervention 31 mars 2009 - 6 mars 2007 à 09:43
papoow Messages postés 4 Date d'inscription vendredi 29 septembre 2006 Statut Membre 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
A voir également:

14 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2007 à 10:18
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
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 09:46
Salut,
Essaie ceci

MsgBox Format(Now, "YYMMDD_HHNNSS")

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 10:05
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
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 10:13
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2007 à 10:20
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
0
PARKER13 Messages postés 33 Date d'inscription vendredi 18 octobre 2002 Statut Membre Dernière intervention 31 mars 2009
6 mars 2007 à 10:26
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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2007 à 10:43
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
0
PARKER13 Messages postés 33 Date d'inscription vendredi 18 octobre 2002 Statut Membre Dernière intervention 31 mars 2009
6 mars 2007 à 10:50
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.
0
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
6 mars 2007 à 16:40
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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2007 à 18:54
Merci JoePatent .... on lui a bien indiqué les même fonctions ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
6 mars 2007 à 19:36
 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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 mars 2007 à 21:15
un grand malade ^^

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