[VBScript] Aide manipulation date/heure [Résolu/Fermé]

Signaler
-
Messages postés
469
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
6 janvier 2013
-
bonjour,
j'ai un souci avec la manipulation de dates/heures dans un vbscript.
Je récupère dans une variable l'attribut DateLastModified d'un fichier.
Je voudrais ensuite ajouter 2h a cette valeur. Mon probleme, est que pour les heures proches de minuit, il faut pouvoir passer au jour suivant. J'ai essayé d'utiliser la fonction DateAdd, mais il ne semble pas que cela fonctionne (je n'arrives pas à lier Date et Heure). Peut-etre y-a-t-il une autre fonction que je ne connaisses pas ?

Merci d'avance pour toute réponse

3 réponses

Messages postés
469
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
6 janvier 2013
73
Salut, voilà un script qui fonctionne chez moi. Comme tu peux le constater, cela va au-delà de la gestion des heures
dim yeartab
yeartab = array(31,28,31,30,31,30,31,31,30,31,30,31)
Dim fs, f, s
filespec="fichier.ext" ' à modifier suivant desiderata
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(filespec)
    s = f.DateLastModified
	msgbox s
    'Extraction des données de la date
	sjour=Cint(Mid(s,1,2))
	smois=Cint(Mid(s,4,2))
	san=Cint(Mid(s,7,4))
	'Extraction des données de l'heure
	sheure=Cint(Mid(s,12,2))
	smin=Mid(s,15,2)	' pas besoin de convertir, on ne travaille pas avec
	ssec=Mid(s,18,2)	' idem
	
	sheure=sheure+2
	
	' Et là, ça se complique
if sheure > 24 then
	sheure=sheure-24
	sjour=sjour+1
		
	maxdayforthismonth=yeartab(smois-1)
	'sommes-nous dans une année bissextile ?
	if smois=2 then
		if ((san Mod 400) - (san Mod 100) + (san Mod 4) = 0) then maxdayforthismonth=29
	end if
	if sjour > maxdayforthismonth then
		sjour = 1
		smois = smois + 1
		if smois > 12 then
			smois = 1
			san = san + 1
		end if
	end if
end if
leadzeroj = "": if sjour < 10 then leadzeroj = "0"
leadzerom = "": if smois < 10 then leadzerom = "0"
leadzeroh = "": if sheure < 10 then leadzeroh = "0"
NewDateLastModified = leadzeroj & sjour & "/" & leadzerom & smois & "/" & san & " " & leadzeroh & sheure & ":" & smin & ":" & ssec
msgbox NewDateLastModified

Je crois que c'est cohérent
Messages postés
27
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
21 septembre 2009
1
slt si vous pouvez m'aider,j ne sais pas comment avoir l'apparance de windows en application vb (fichier dll)
Messages postés
469
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
6 janvier 2013
73
salut,
peux-tu être plus précis marouane ?