Pytanie Jak odjąć datetime z innej datetime?


Jak odjąć dwie wartości DateTime od innej wartości DateTime i zapisać wynik w postaci podwójnej?


14
2018-03-03 05:26


pochodzenie


Wynik w jakiej jednostce czasu? Kleszcze? Sekundy? Dowolne przykładowe wejście / wyjście? - BoltClock♦
Co to powinno być wyjście po odjęciu - Dorababu Meka


Odpowiedzi:


W .NET, jeśli odjąć jeden DateTime obiekt od innego, dostaniesz TimeSpan obiekt. Następnie możesz użyć Ticks własność na tym TimeSpan obiekt, aby uzyskać liczbę znaczników między tymi dwoma DateTime obiekty. Jednak tyknięcia będą reprezentowane przez a Longnie a Double.

DateTime date1;
DateTime date2;
Long diffTicks = (date2 - date1).Ticks;

Istnieją inne ciekawe właściwości na TimeSpan obiekt jak TotalMilliseconds i TotalMinutes i takie rzeczy, które mogą ci pomóc, i mogą być bardziej tym, czego szukasz.


21
2018-03-03 05:30





DateTime startTime = DateTime.Now; 
DateTime endTime = DateTime.Now.AddSeconds( 75 );  
TimeSpan span = endTime.Subtract ( startTime ); 
Console.WriteLine( "Time Difference (seconds): " + span.Seconds ); 
Console.WriteLine( "Time Difference (minutes): " + span.Minutes ); 
Console.WriteLine( "Time Difference (hours): " + span.Hours ); 
Console.WriteLine( "Time Difference (days): " + span.Days );

11
2018-03-03 05:30





Myślę, że to jest to, czego potrzebujesz.

DateTime d1 = DateTime.Now;
DateTime d2 = DateTime.UtcNow;

var result = d1 - d2;

double dResult = result.Ticks;

1
2018-03-03 05:29





Powinieneś spróbować w tym.

DateTime prevDate = DateTime.Parse("25-Feb-2011 12:30");
double subDouble = DateTime.Now.Ticks - prevDate.Ticks;

0
2018-03-03 05:38





Posługiwać się DateTime.Subtract która zwróci TimeSpan, a następnie użyje właściwości TotalSeconds wyniku, który jest typu double.


0
2018-03-03 05:40





Nie jestem pewien, co chcesz przechowywać jeśli potrzebujesz podwójnego

  double difference = date2.ToOADate() - date1.ToOADate();

0
2018-03-03 05:44