2012-08-13 16 views
10

Tôi cần Giờ hiện tại trừ đi myDate1 tính bằng giây.Datetime.now là giá trị TimeSpan?

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

TimeSpan myDateResult = new TimeSpan(); 

myDateResult = myDate2 - myDate1; 

.
.
Tôi đã thử các cách khác nhau để tính toán nhưng không có hiệu lực.

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

.
Cách tính toán không quan trọng, đầu ra chỉ nên là sự khác biệt này với giá trị tính bằng giây.

+1

Bạn không cần phải làm 'myDateResult = new TimeSpan();' - bạn không cần phải có một biểu thức khởi tạo cho mỗi biến và/hoặc bạn có thể làm cho initializer biểu thức sau. –

+2

@ user1559441, bạn đã tính toán sự khác biệt trong TimeSpan 'myDateResult', bạn có thể sử dụng thuộc tính' TotalSeconds' để có sự khác biệt trong vài giây – Habib

+1

yeah, '.TotalSeconds' là câu trả lời. cảm ơn – MrMAG

Trả lời

21

Mã của bạn là đúng. Bạn có chênh lệch thời gian như một giá trị TimeSpan, vì vậy bạn chỉ cần sử dụng TotalSeconds bất động sản để có được nó như giây:

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

TimeSpan myDateResult; 

myDateResult = myDate2 - myDate1; 

double seconds = myDateResult.TotalSeconds; 
2

bạn cần phải nhận được .TotalSeconds tài sản của khoảng thời gian của bạn:

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

Bạn có thể sử dụng phương pháp 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()); 
0
TimeSpan myDateResult; 

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

Code:

TimeSpan myDateResult = DateTime.Now.TimeOfDay; 
+0

hãy sử dụng đánh dấu mã (thêm 4 dấu cách trước dòng mã), tôi sẽ tự chỉnh sửa nhưng đó là một thay đổi nhỏ mà hệ thống sẽ không cho phép tôi. –

+0

Đây phải là câu trả lời được chấp nhận, vì nó phù hợp với 100% câu hỏi chủ đề. –