C# 找到一年中的最后一天

C# 找到一年中的最后一天,c#,datetime,leap-year,C#,Datetime,Leap Year,我正在执行一项任务,其中要求在给定的当前日期前找到一年的最后一天 例如,如果将其2013年1月6日提交给它,它将自动返回年底。 如2013年12月31日 我用了很多方法,比如加上一年中的剩余天数,但当是闰年时,就会出现缺赛, 任何人都能给我提供精确的解决方案或指导我如何去做 基本上我想跳过今年的最后一个日期。这是为了C#为什么不做这样简单的事情呢 var date = new DateTime(2013, 1,6); var lastDayOfTheYear = new DateTime(dat

我正在执行一项任务,其中要求在给定的当前日期前找到一年的最后一天

例如,如果将其2013年1月6日提交给它,它将自动返回年底。 如2013年12月31日

我用了很多方法,比如加上一年中的剩余天数,但当是闰年时,就会出现缺赛, 任何人都能给我提供精确的解决方案或指导我如何去做


基本上我想跳过今年的最后一个日期。这是为了C#

为什么不做这样简单的事情呢

var date = new DateTime(2013, 1,6);
var lastDayOfTheYear = new DateTime(date.Year, 12, 31);

我会复制日期,将日期改为31日,将月份改为12月,这样你就有了最后一天。

你可以试试这一天。。 为了得到第一天和最后一天

int year = DateTime.Now.Year;
DateTime firstDayyear = new DateTime(year , 1, 1);
DateTime lastDayyear = new DateTime(year , 12, 31);

我想你是指一周中的哪一天

new DateTime(DateTime.Now.Year, 12, 31).DayOfWeek
或更具可读性:

DateTime lastDateOfYear = new DateTime(DateTime.Now.Year, 12, 31);
DayOfWeek dayOfWeek = lastDateOfYear.DayOfWeek;
有关DayOfWeek枚举的更多信息,请参见此处:

或者你是说明年还有多少天

DateTime lastDateOfYear = new DateTime(DateTime.Now.Year, 12, 31);
var daysTillNextYear = (lastDateOfYear - DateTime.Now).TotalDays;

这是一个简单的解决方案,我已经搜索了很多,但经过多次尝试,我用这个解决了

DateTime LastDayOfYear(DateTime date)
    {           
        DateTime newdate = new DateTime(date.Year + 1, 1, 1);
        //Substract one year
        return newdate.AddDays(-1);
    }
//Here calling the function 
DateTime current_time = LastDayOfYear(DateTime.Now); // 05,Sep ,2013
// It returned 31, Dec, 2013

要获得最后一天,请使用以下命令:

string lastdayofyear = new DateTime(DateTime.Now.Year, 12,31).DayOfWeek.ToString();

12月31日
将始终是任何一年的最后一天
新日期时间(currentDate.year,12,31)
?您的意思是它将返回2013年12月31日吗?还是返回到年底的天数?我不明白这个问题…这是金子。“非常喜欢。”比比塔希拉-好吧,现在你有很多答案可以帮你解决这个问题。要了解更多信息,请看一看,尤其是这一部分。