作业帮 > 综合 > 作业

C#根据一个时间判断属于哪个月份

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/12 02:37:56
C#根据一个时间判断属于哪个月份
我做的是一个酒店支出事项,我想的根据一个日期,比如5月14,判断把属于5月份的都提取出来,意思就是按月结算,从每月的1号开始,到那个月的最后一天结束.但是由于月份不一样,那个月的天数就不一样,这个方法该怎么写?求大神指导,
C#根据一个时间判断属于哪个月份
程序中判断用DateTime类来做比较好,只用年月来初始化一个DateTime对象,日固定使用1.然后用这个DateTime对象的AddMonths方法加一个月,再用AddDays方法减一天,就变成这个月的最后一天了.
DateTime dt = new DateTime(2012,5,1);
dt.AddMonths(1).AddDays(-1).ToString("yyyyMMdd");//这个就是当前的月的最后一天了.
如果是SQL的话,不需要知道最后一天我觉得也没事,就固定检索到31号,一个判断条件而已,即便没有31号也不影响检索结果的正确性.
再问: 但是这个要必须指点一个时间,需要指点时间的话可以这么做: DateTime.Now.AddMonths(-1).AddDays(1) DateTime.Now.AddMonths(1).AddDays(-1) 这就可以表示判断属于当前月的了。 但是如果是判断一个不知道那个月的怎么判断,你上面给的也是判断一个具体的一个月,判断的是5月份的。求解啊大哥
再答: 你在程序里会不知道是要检索几月么?因为你写的是说给定一个日期嘛,所以我才那么写的。我觉得你总的有个具体的日期,也就是那个5月14号总会是从什么地方得到的,然后用我给的方式new出一个DateTime,我写的那句只是个例子,不一定非得是个常量,只要是int型就可以初始化DateTime对象。 另外,如果你确实不想用这样的方式来判断,也可以在sql这么写: select last_day(to_date('20120514','yyyymmdd')) from dual; 这句sql是个例子,取出的是2012年5月的最后一天,你可以灵活运用一下。