Rafraichissement date

Signaler
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
-
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
-
bonjour
voila mon problème

dans une boucle, je dois rafraichir la date jusqu'au millisecond, voi nano second
( je fais des inserts et la date me sert de cle pour des raisons propre à l'appli)
Cette date est transformé en string pour repondre au format voulu de la facon suivant :

string maDate ; 
foreach( string valeur in listvaleur)
{
 maDate = DateTime.now.ToString("yyyyMMddHHmmssffffff");
  
  #region FAIRE INSERT

  #endregion

}
problème, datetime.now, ce n'est pas assez précis. Dans MSDN, on apprend que datetime.now à une précision de 10 à 55ms en fonction du systeme d'exploit. 
Bilan, je me retrouve avec des maDate égale et cela plante mon programme 

Avez vous une solution  pour récupérer de manière fiable  la date , allant jusqu'au millième, voir moins, avec une grande précision, 
merci d'avance 

4 réponses

Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
et tu peux pas utiliser les guid...???
la date est vitale comme unique ???

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
et si tu stockait ta date "yyyyMMddHHmmssffffff" + "###"

ou "###" serait un compteur que tu gererais toi meme
style avant l'insert tu fais un select max(code) from ma_table where code like"yyyyMMddHHmmssffffff%"
et tu incremetne ton compteur...
Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
5
Eventuellement, DateTime.Now.Ticks donne le nombre d'interval de 100 nonaSecond depuis le 01/01/0001 12:00:00:0000
<MSDN>
La valeur de cette propriété correspond au nombre d'intervalles de 100 nanosecondes écoulés depuis le 1er janvier 0001, 12:00.
</MSDN>

Alors un petit calcul pourrait te donner un temps au 100 nano prés. Plus precis ca doit pas etre faisable

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
3
les guid est peut etre une piste intéresseante
Oui, la date est vitale comme unique, je sais c'est bizarre , mais toutes les conditions de l'appli oblige à une date unique.
Bref, l'idée du compteur , et bien, c'est celle que j'avais adopté juste avant de poster ce message, mais ca me pose un problème, car possibilité de deux instances de cette classe dans deux applis, donc potentiellement deux compteurs égales. Enfin, si on va jusqu'au blindage comme ca, c vrai qu'on peut plus rien faire d'obligatoirement unique car les contraintes sont trop élevées.

J'avais vu la porpirèté ticks. Mais on se base toujours sur datetiem.now avec la précision du now qui est de l'ordre de la dixaine de millisecondes, donc, pours cette date, il donnera bien les nanonseconds, mais vu que la date retournée n'est pas précise, on revient au problème initiale.

Enfin, je vous remerciez pour vos réponses, ca m'a au moins permis d'etre sure de n'etre passé à coté de quelque chose ( ca m'arrive ).
bon courage pour la suite