2013-09-05 74 views
0

我正在完成一项任务,在该任务中,需要根据给定的当前日期查找一年中的最后一天。查找今年的最后一天

就好像它的06/Jan/2013是给它的,它会自动返回一年的结束日期。 像31/DEC/2013

我使用的方法很多,如添加在今年余下的日子,但是当它是闰年则错过比赛时, 任何机构可以给我确切的解决方案或guied我怎么样。

基本上我想跃过year.This的最后日期是tentively为C#

+25

'31 Dec'总会任何一年 – Sachin

+3

'新的DateTime(currentDate.Year,12,31)'的最后一天? – Corak

+2

你的意思是它会在2013年12月31日返回吗?或者它是否返回到今年年底的天数?不明白的问题... – iabbott

回答

17

为什么不是简单的这样呢?

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

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

3

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

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

我想你的意思是星期几?

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

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

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 
1

为了得到最后一天只使用:

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