2010-06-26 16 views

Répondre

15

Une valeur particulière de DateTime n'a pas de « tics par seconde » associé; les tiques sont des tiques, peu importe lesquelles sont DateTime. Les tiques ont une longueur de 100 nanosecondes, donc il y en a 10 000 000 par seconde. Maintenant pour obtenir cela comme une chaîne est aussi simple que la chaîne littérale "10000000" ... bien qu'en général vous obtiendriez un nombre et appelez simplement ToString() là-dessus. Par exemple, vous pouvez utiliser:

string ticksPerSecond = TimeSpan.TicksPerSecond.ToString(); 

Votre question est un peu bizarre, alors je me demande si nous manque quelque chose ... vous pouvez modifier la question avec plus de détails sur ce que vous essayez de faire . Par exemple, essayez-vous de déterminer le nombre de ticks dans la seconde particulière d'un DateTime? Ce qui est le plus facile à faire que:

long ticks = dt.Ticks % TimeSpan.TicksPerSecond; 
0

Je pense que vous voudrez peut-être TimeSpan.TicksPerSecond.

Console.WriteLine("tps = {0}", TimeSpan.TicksPerSecond.ToString()); 
1

Vous trouvez les tiques par seconde comme une constante sur TimeSpan:

TimeSpan.TicksPerSecond 

Je ne sais pas ce que vous essayez de faire si ...

(DateTime.UtcNow.Ticks/TimeSpan.TicksPerSecond).ToString() // Total number of seconds... 
0

Le nombre de tiques par deuxième dans une valeur DateTime est toujours 10000000. Un tick est de 100 nanosecondes.

Donc, si vous voulez convertir en une chaîne:

10000000.ToString() 
+1

Mieux vaut utiliser TimeSpan. TicksPerSecond pour éviter les nombres magiques – simendsjo

+0

@simendsjo: Oui, je voulais juste préciser que la valeur ne change jamais, évitez d'utiliser la valeur, si vous voulez une valeur de ticks en secondes, créez une valeur DateTime ou TimeSpan et utilisez ce sont des méthodes pour l'obtenir en quelques secondes. – Guffa

Questions connexes