DateTime and DateDiff VB.NET 2010

Résolu
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012 - 8 févr. 2012 à 17:22
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012 - 21 févr. 2013 à 18:47
Bonjour,

J'ai un souci... je convertie des valeurs de temps en seconde pour faire des tracés.

Dim toto As DateTime = 'peut importe'
dim value 1s Int64

valeur = DateDiff("S", #1/1/2000 1:00:01 PM#, toto)

'traitement courbe et divers....

'J'aurai besoin de reconvertir la valeur en datetime pour d'autre traitement je ne s'est pas comment faire


J'ai cherché sur MSDN sans avoir trouvé de solution.

Si quelqu'un peut m'aiguiller.

Merci

11 réponses

NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
8 févr. 2012 à 19:16
Bonjour,

Pour commencer, actives Option Strict et Option Explicit dans les propriétés du projet, profites-en aussi pour, dans l'onglet "Références", retirer l'import automatique de Microsoft.VisualBasic.

Ensuite, convertir une durée en DateTime n'a aucun sens, tu peux par contre en faire un TimeSpan ou en utilisant l'ajout à une date tu retrouveras une date.

DateDiff -> http://msdn.microsoft.com/en-us/library/8ysw4sby.aspx
DateAdd -> http://msdn.microsoft.com/en-us/library/system.datetime.add.aspx (et ses dérivés, AddDays, ...)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 236
13 févr. 2012 à 10:24
Je comprends mal ceci :
Si j'ai bien compris il n'est pas possible de récupérer la valeur toto quand on a la référence et la valeur en "s".

Je ne vois pas en quoi le fait d'utiliser la date toto pour calculer valeur modifierait la date toto ! Elle est restée la même qu'au départ !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 236
8 févr. 2012 à 17:47
Bonjour
et valeur est déclarée et typée en quoi et où ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012
13 févr. 2012 à 10:01
Bonjour,


Merci pour les réponses.


dim valeur as int64


En faite ma conversion en valeur en "s" d'une date me permet de tracer une courbe sans avoir de temps mort, je m'explique:
si je passe de 1235959 a 2000001 il y a 2s, donc 2 point, en réaliter il y a après 235959 des valeurs qui n’existe pas (1236871)
donc beaucoup de point qui sont traiter et ne serve a rien. (polyligne)
en utilisant datediff je convertie la date en "s" cela règle mon problème.
le seul souci qui reste se sont mes labels qui sont générer tout du long de l'axe x qui indique la date et l'heure.

Mes labels permette de ce repérer sur mes courbes actuellement elle contienne le résultat de valeur = DateDiff("S", #1/1/2000 1:00:01 PM#, toto)
Si j'ai bien compris il n'est pas possible de récupérer la valeur toto quand on a la référence et la valeur en "s".

Merci.
0

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

Posez votre question
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012
13 févr. 2012 à 10:30
Bonjour,

Merci votre aide j'ai utilisé l'ajout a une date est sa marche très bien.
DateAdd("S",valeur ,#1/1/2000 1:00:01 PM#)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 236
13 févr. 2012 à 10:40
Ben ...
Pourquoi donc une telle gymnastique, alors que toto n'a pas été modifiée ?
Tu recalcules inutilement toto pour retrouver la valeur qu'il n'a pas perdue !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012
13 févr. 2012 à 10:40
Pour faire suite au message que tu m'a posté en même temps.

Oui, vu sous cette angle tu a raison.

j'ai une collection de point qui sont X=valeur et Y=PuissanceElectriqueMagasin
Il faut savoir que cette collection de point peut contenir 150000 points facile.

Sur ma courbe je récupéré 15 valeur a intervalle régulier pour afficher une date dans un label.
La date toto n'est pas existant dans mon échelle graphique car je les traiter en "s"

quand je place ma souri sur le graphique je récupère des "s" que je convertie en date pour l'affichage.

Voila une petite explication... :)

Merci.
0
FNIAMKE Messages postés 83 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 27 juin 2016
21 févr. 2013 à 17:08
Bonjour Mme / Mr

J'ai besoin d'aide pour définir une constante date dans une fonction

NIAMKE Francis
0
FNIAMKE Messages postés 83 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 27 juin 2016
21 févr. 2013 à 17:16
en faite j'ai écrit une fonction :
Public Function DroitUtilisation(Optional ByVal DateDebut As Date)
end Function

j'ai l'erreur suivante : les paramètres optionnels doivent spécifier une valeur par défaut

quand je met
Public Function DroitUtilisation(Optional ByVal DateDebut As Date=now)
end Function

Il me dit une constante est requise.

Merci de m'apporter une assistance.

NIAMKE Francis
0
Utilisateur anonyme
21 févr. 2013 à 18:22
Ton optional est expliqué dans l'aide de VB. La même aide est disponible en ligne et il y a un exemple. Chercher dans l'aide c'est le minimum à faire et cela ne donne pas la peste
0
Shindaraa Messages postés 41 Date d'inscription mercredi 22 juin 2011 Statut Membre Dernière intervention 22 juillet 2012
21 févr. 2013 à 18:47
Oui le minimum pour quelqu’un qui développe est la recherche...

Voici une petite aide :)


Fait un copier coller est essaye avec des point d’arrêt.




Public Sub New() 'Routine qui initialise ou autre... (Programme principale)
Dim TOTO As Date = Date.Now
Dim Jour As Int16 = DroitUtilisation(TOTO) 'Recupere le jour de la date actuelle
MsgBox("Le jour actuelle est : " + Jour.ToString)
End Sub


Public Function DroitUtilisation(ByVal DateDebut As Date) 'Fonction qui renvoie le jour d'une date
Dim Day As Int16 = 0
Day= DateDebut.Day
Return Day 'Toujours retourner une valeur dans une fonction
End Function
0