Datetime.now как значение TimeSpan?

Мне нужно текущее Datetime минус myDate1 в секундах.

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

TimeSpan myDateResult = new TimeSpan();

myDateResult = myDate2 - myDate1;

.
.
Я пробовал разные способы вычисления, но не имел никакого эффекта.

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

.
То, как он рассчитывается, не имеет значения, выход должен быть просто разницей в значениях в секундах.

Ответ 1

Ваш код верен. У вас есть разница во времени как значение TimeSpan, поэтому вам нужно использовать свойство TotalSeconds, чтобы получить его как секунды:

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

TimeSpan myDateResult;

myDateResult = myDate2 - myDate1;

double seconds = myDateResult.TotalSeconds;

Ответ 4

код:

TimeSpan myDateResult = DateTime.Now.TimeOfDay;

Ответ 5

вам нужно получить свойство .TotalSeconds вашего временного интервала:

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());

Ответ 6

Вы можете использовать метод 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());

Ответ 7

TimeSpan myDateResult;

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