如何获取给定日期一年内的总天数

我想获得从给定日期开始一年内剩余的总天数。假设用户是否给出了04-01-2011(MM-DD-YYYY)我想找到剩下的剩余天数。 这该怎么做..

假设今天的日期是:

 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包含天数(感谢@Tung)。 lastdate还包含一年的最后日期。

应该做的伎俩

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

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

我想你应该试试TimeSpan

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