2012-05-08 65 views
5

Tôi muốn nhận tổng số ngày trong một năm còn lại từ ngày đã cho .. Giả sử nếu người dùng cung cấp 04-01-2011(MM-DD-YYYY) Tôi muốn tìm còn lại ngày còn lại. Làm thế nào để làm điều này ..Cách nhận tổng số ngày trong một năm kể từ ngày đã cho

+2

Bao gồm ngày đó hoặc loại trừ ngày đó? –

+0

đừng quên tính đến năm nhuận;) – RhysW

Trả lời

18

Hãy nói rằng ngày này là ngày hôm nay:

var user = "05-08-2012"; 
var date = DateTime.ParseExact(user, "MM-dd-yyyy", System.Globalization.CultureInfo.InvariantCulture); 
var lastdate = new DateTime(date.Year, 12, 31); 
var diff = lastdate - date; 

diff.TotalDays chứa số ngày (nhờ @Tung). lastdate cũng chứa ngày cuối cùng của năm.

+1

không nên là 'diff.TotalDays'? – Tung

+0

@Tung - Đúng, đã được sửa. Cảm ơn! – yamen

+0

Hi một trợ giúp nhỏ làm thế nào tôi có thể tìm thấy ngày cuối cùng .. tức là tôi muốn hiển thị ngày kết thúc năm là '12-31-2011' – Vivekh

1

new DateTime(suppliedDate.Year, 12, 31).Subtract(suppliedDate).TotalDays

2

nên làm các trick

int daysLeft = new DateTime(DateTime.Now.Year, 12, 31).DayOfYear - DateTime.Now.DayOfYear;

0

Tôi nghĩ bạn nên thử TimeSpan như

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); 
Các vấn đề liên quan