找到一年中的最后一天

本文关键字:一年 最后一天 | 更新日期: 2023-09-27 18:30:13

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

就像2013年1月6日给它,它会自动返回年底。类似2013年12月31日

我用了很多方法,比如增加一年中剩下的日子,但当是闰年时,就会出现错过比赛的情况,有人能给我发精确的解决方案吗?或者指导我怎么做。

基本上,我想跳过今年的最后一个日期。这可能是针对C#

找到一年中的最后一天

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

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

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

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

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

new DateTime(DateTime.Now.Year, 12, 31).DayOfWeek

或更可读:

DateTime lastDateOfYear = new DateTime(DateTime.Now.Year, 12, 31);
DayOfWeek dayOfWeek = lastDateOfYear.DayOfWeek;

有关DayOfWeek枚举的更多信息,请点击此处:http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx

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

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

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

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

我会复制日期,将日期更改为31,将月份更改为12月,然后您就有了最后一天。

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

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