问题描述
最近遇到个时间问题:201344代表的含义是2013年的第44周,怎么取第44周的周一周末两个日期??20132代表的含义是2013年的第2个月,怎么取这个月的月初和月尾两个日期???具体算法该如何实现?谢谢
解决方案
解决方案二:
201344代表的含义是2013年的第44周,怎么取第44周的周一周末两个日期??我先规定星期一算一周的开头好了先确定2013年1月1日是星期几如果是星期一d=0如果是星期日d=-6以此类推那么44周的周一就应该是newDateTime(2013,1,1).AddDays((43*7)+d)20132代表的含义是2013年的第2个月,怎么取这个月的月初和月尾两个日期???不就是2013年2月1日及2013年2月28日吗????
解决方案三:
vardt=newDateTime(2013,1,1);vardt1=dt.AddWeeks(2);vardt2=dt1.AddDays(6);
解决方案四:
[DateTime].AddWeeks()[DateTime].AddDays()DateTime.DaysInMonth()这三个方法就够了
解决方案五:
引用1楼shingoscar的回复:
201344代表的含义是2013年的第44周,怎么取第44周的周一周末两个日期??我先规定星期一算一周的开头好了先确定2013年1月1日是星期几如果是星期一d=0如果是星期日d=-6以此类推那么44周的周一就应该是newDateTime(2013,1,1).AddDays((43*7)+d)20132代表的含义是2013年的第2个月,怎么取这个月的月初和月尾两个日期???不就是2013年2月1日及2013年2月28日吗????
我知道月初都是一号月尾不一样怎么算
解决方案六:
staticvoidMonthInYear(intyear,intmonth){DateTimedt=newDateTime(year,1,1);dt=dt.AddMonths(month-1);Console.WriteLine("Firstdayinmonth:"+dt);Console.WriteLine("Lastdayinmonth:"+dt.AddMonths(1).AddDays(-1));}
月份的简单,周的你是按周一为每周的第一天,周日为每周的最后一天?
解决方案七:
staticvoidWeek(intyear,intweek){DateTimedt=newDateTime(year,1,1);dt=dt.AddDays(week*7-7);intday=(int)dt.DayOfWeek;dt=dt.AddDays(-day);Console.WriteLine("Sundayinweek:"+dt);Console.WriteLine("Saturdayinweek:"+dt.AddDays(6));}
这里是按周日作为每周第一天,周六为每周最后一天算的
解决方案八:
引用4楼EmotionAC的回复:
Quote: 引用1楼shingoscar的回复:
201344代表的含义是2013年的第44周,怎么取第44周的周一周末两个日期??我先规定星期一算一周的开头好了先确定2013年1月1日是星期几如果是星期一d=0如果是星期日d=-6以此类推那么44周的周一就应该是newDateTime(2013,1,1).AddDays((43*7)+d)20132代表的含义是2013年的第2个月,怎么取这个月的月初和月尾两个日期???不就是2013年2月1日及2013年2月28日吗????我知道月初都是一号月尾不一样怎么算
也就12个月,列张表,2月再特殊处理下。。幼儿园的知识啊
解决方案九:
有个方法可以拿某个月有几天intDateTime.DaysInMonth(year,month);
解决方案十:
引用3楼rocmemory的回复:
[DateTime].AddWeeks()[DateTime].AddDays()DateTime.DaysInMonth()这三个方法就够了
我这个说得够清楚了吧,第三个方法就是获取指定月有多少天或者你看看DateTime的元数据,里面有太多可以调用的东西了