Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

calcul sur dates.

4 réponses
Avatar
Dan
Bonjour a tous.
j'ai des fichiers jpg et je desire soustraire un nombre d'heures ,mn,s
pour ensuite enregistrer cette nouvelle date comme date de création.
ma date de creation est sous la forme :
19/04/2009 13:28:46

quel est la methode pour effectuer des calculs sur ce genre de tates?
D'avance merci de votre aide

4 réponses

Avatar
Jérémy Jeanson
Bonjour Dan,

Sans ésitation System.DateTime.
http://msdn.microsoft.com/fr-fr/library/system.datetime.aspx

Ce type est LE type à utiliser pour les dates (calculs et aussi mise en
forme)

Tu peux nous donner une petit exemple concret de ce que tu veux
réellement faire et je pense que quelqu'un te donnera le code de base
pour te lancer ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Dan
merci jérémy.

Voila j'avais mal posté mon message.

J'ai fini par trouver mais voici mon code
je recupere la date la plus petite entre la date de creation et la date de
modification.
ensuite je soustrai un certain temps cette date,ici 35 Mn.
et j'affiche cette date dans un textbox.
peut etre qu'il y aurait plus simple


Dim duration As System.TimeSpan
duration = New System.TimeSpan(0, 0, 35, 0)

Dim dmodif = Directory.GetLastWriteTime(totala(nbd))

Dim dcrea = Directory.GetCreationTime(totala(nbd))

If Directory.GetLastWriteTime(totala(nbd)) <
Directory.GetCreationTime(totala(nbd)) Then
dcrea = dmodif

End If
Dim aa = dcrea.Subtract(duration)
textdate.Text = aa

"Jérémy Jeanson" a écrit dans le message de
news:%
Bonjour Dan,

Sans ésitation System.DateTime.
http://msdn.microsoft.com/fr-fr/library/system.datetime.aspx

Ce type est LE type à utiliser pour les dates (calculs et aussi mise en
forme)

Tu peux nous donner une petit exemple concret de ce que tu veux réellement
faire et je pense que quelqu'un te donnera le code de base pour te lancer
;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Avatar
Jérémy Jeanson
Bonjour Dan,

Plus simple?... et bien non ;)
Je penses que tu as déjà fait au plus simple si la durée que tu dois
soustraire peut devenir autre chose que des minutes c'est ce qu'il faut
faire.
Si non on n'y pense très rarement mais les méthodes Add (Hours,
minutes... etc...) peuvent aussi servir à faire des soustraction si on
utilise un offest négatif
dcrea.AddMinutes(-35)

On peut par contre optimiser un peu les choses en utilisant les
variables que tu as déclaré et en ne faisant qu'un appel à ta méthode
totala()

Donc dans ton cas précis on pourrait écrire

Dim repetoire As String = totala(nbd)

Dim dmodif = Directory.GetLastWriteTime(repetoire)
Dim dcrea = Directory.GetCreationTime(repetoire)

If dmodif < dcrea Then
dcrea = dmodif
End If
Dim aa As DateTime = dcrea.AddMinutes(-35)
textdate.Text = aa

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Dan
merci c'est super

"Jérémy Jeanson" a écrit dans le message de
news:
Bonjour Dan,

Plus simple?... et bien non ;)
Je penses que tu as déjà fait au plus simple si la durée que tu dois
soustraire peut devenir autre chose que des minutes c'est ce qu'il faut
faire.
Si non on n'y pense très rarement mais les méthodes Add (Hours, minutes...
etc...) peuvent aussi servir à faire des soustraction si on utilise un
offest négatif
dcrea.AddMinutes(-35)

On peut par contre optimiser un peu les choses en utilisant les variables
que tu as déclaré et en ne faisant qu'un appel à ta méthode totala()

Donc dans ton cas précis on pourrait écrire

Dim repetoire As String = totala(nbd)

Dim dmodif = Directory.GetLastWriteTime(repetoire)
Dim dcrea = Directory.GetCreationTime(repetoire)

If dmodif < dcrea Then
dcrea = dmodif
End If
Dim aa As DateTime = dcrea.AddMinutes(-35)
textdate.Text = aa

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr