web-dev-qa-db-fra.com

Datetime.now comme valeur TimeSpan?

J'ai besoin de la date et de l'heure actuelle moins myDate1 en secondes.

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00);
DateTime myDate2 = DateTime.Now;

TimeSpan myDateResult = new TimeSpan();

myDateResult = myDate2 - myDate1;

.
.
J'ai essayé différentes façons de calculer, mais sans effet.

TimeSpan mySpan = new TimeSpan(myDate2.Day, myDate2.Hour, myDate2.Minute, myDate2.Second);

.
Peu importe la façon dont elle est calculée, le résultat devrait simplement être la différence entre ces valeurs et les valeurs exprimées en secondes.

15
MrMAG

Votre code est correct. Vous avez la différence de temps sous la forme d'une valeur TimeSpan; il vous suffit donc d'utiliser la propriété TotalSeconds pour l'obtenir en secondes:

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00);
DateTime myDate2 = DateTime.Now;

TimeSpan myDateResult;

myDateResult = myDate2 - myDate1;

double seconds = myDateResult.TotalSeconds;
23
Guffa

Code:

TimeSpan myDateResult = DateTime.Now.TimeOfDay;
13
YC Chiranjeevi

Avez-vous essayé quelque chose comme

DateTime.Now.Subtract(new DateTime(1970, 1, 9, 0, 0, 00)).TotalSeconds

Méthode DateTime.Subtract (DateTime)

Propriété TimeSpan.TotalSeconds

6
Adriaan Stander
5
Arcturus

vous devez obtenir la propriété .TotalSeconds de votre intervalle de temps: 

DateTime myDate1 = new DateTime(2012, 8, 13, 0, 05, 00);
DateTime myDate2 = DateTime.Now;
TimeSpan myDateResult = new TimeSpan();
myDateResult = myDate2 - myDate1;
MessageBox.Show(myDateResult.TotalSeconds.ToString());
2
Mahdi Tahsildari

Vous pouvez utiliser la méthode Subtract:

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00);
DateTime myDate2 = DateTime.Now;
TimeSpan ts = myDate2.Subtract(myDate1);
MessageBox.Show(ts.TotalSeconds.ToString());
1
TimeSpan myDateResult;

myDateResult = DateTime.Now.Subtract(new DateTime(1970,1,9,0,0,00));
myDateResult.TotalSeconds.ToString();
0
Prerna