27

I need the current Datetime minus myDate1 in seconds.

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

TimeSpan myDateResult = new TimeSpan();

myDateResult = myDate2 - myDate1;

.
.
I tried different ways to calculate but to no effect.

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

.
The way it's calculated doesn't matter, the output should just be the difference these to values in seconds.

frenchie
  • 51,731
  • 109
  • 304
  • 510
MrMAG
  • 1,194
  • 1
  • 11
  • 34
  • 1
    You don't need to do `myDateResult = new TimeSpan();` - you don't have to have an initializing expression for every variable and/or you could make the initializer the following expression. – Damien_The_Unbeliever Aug 13 '12 at 07:08
  • 2
    @user1559441, you have already calculated the difference in TimeSpan `myDateResult`, you may use `TotalSeconds` property to get the difference in seconds – Habib Aug 13 '12 at 07:12
  • 1
    yeah, `.TotalSeconds` was the answer. thanks – MrMAG Aug 13 '12 at 07:32

7 Answers7

44

Code:

TimeSpan myDateResult = DateTime.Now.TimeOfDay;
Musakkhir Sayyed
  • 7,012
  • 13
  • 42
  • 65
YC Chiranjeevi
  • 541
  • 4
  • 3
31

Your code is correct. You have the time difference as a TimeSpan value, so you only need to use the TotalSeconds property to get it as seconds:

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

TimeSpan myDateResult;

myDateResult = myDate2 - myDate1;

double seconds = myDateResult.TotalSeconds;
Guffa
  • 687,336
  • 108
  • 737
  • 1,005
7

Have you tried something like

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

DateTime.Subtract Method (DateTime)

TimeSpan.TotalSeconds Property

Adriaan Stander
  • 162,879
  • 31
  • 289
  • 284
5

How about

myDateResult.TotalSeconds

http://msdn.microsoft.com/en-us/library/system.timespan.totalseconds

Arcturus
  • 26,677
  • 10
  • 92
  • 107
2

you need to get .TotalSeconds property of your timespan :

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());
Mahdi Tahsildari
  • 13,065
  • 14
  • 55
  • 94
1

You can use Subtract method:

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00);
DateTime myDate2 = DateTime.Now;
TimeSpan ts = myDate2.Subtract(myDate1);
MessageBox.Show(ts.TotalSeconds.ToString());
Pieniadz
  • 653
  • 3
  • 9
  • 22
Chaturvedi Dewashish
  • 1,469
  • 2
  • 15
  • 39
0
TimeSpan myDateResult;

myDateResult = DateTime.Now.Subtract(new DateTime(1970,1,9,0,0,00));
myDateResult.TotalSeconds.ToString();
Jesuraja
  • 3,774
  • 4
  • 24
  • 48
Prerna
  • 1