如何从给定日期开始获取一年中的总天数



我想从给定日期开始获得一年中剩余的总天数..假设如果用户给出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还包含一年中的最后一个日期。

也许只是:

DateTime.IsLeapYear(DateTime.Now.Year( ? 366 : 365

对不起,读起来好像你只是想要当年的天数......

应该可以解决问题

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

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

我认为你应该像 TimeSpan 一样尝试 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 );

取一些开始日期,加上一年减去一天,然后从开始日期中减去结束日期,您将获得两个日期之间的总天数。

var beginOfYear = new DateTime(2000, 01, 01, 0, 0, 0, DateTimeKind.Local);
var endOfYear = beginOfYear.AddYears(1).AddDays(-1);
var daysOfYear = endOfYear.Subtract(beginOfYear).TotalDays;

最新更新