
int days = DateTimeDaysInMonth(DateTimeNowYear, DateTimeNowMonth);
MessageBoxShow("First Day (DateTime): " + DateTimeNowAddDays(1 - DateTimeNowDay)ToShortDateString());
MessageBoxShow("Last Day (DateTime): " + DateTimeNowAddDays(days - DateTimeNowDay)ToShortDateString());
public static Date getMonthDeviation(int n ) {
Calendar calendar = CalendargetInstance();//获取当前日期
calendaradd(CalendarMONTH, n);//n代表和本月偏移 0本月、1后一月,-1前一月
calendarset(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
calendarset(CalendarHOUR_OF_DAY,0);//将小时至0
calendarset(CalendarMINUTE,0);//将分钟至0
calendarset(CalendarSECOND,0);//将秒至0
calendaradd(CalendarSECOND, -1);// 如果需要获取最后一天,则月份偏移后,在1号0时0分0秒基础上-1秒
Date day = calendargetTime();
return day;
}
考虑到无论是第一天还是最后一天都是要精确到时分秒,所以要初始化时设置时分秒。
例如本月为:2020-12
获取本月最后一天:DateUtilgetMonthEnd(1) ,下个月的第一天-1秒
获取上个月最一天:DateUtilgetMonthEnd(0) ,本月的第一天-1秒
获取本月第一天: DateUtilgetMonthEnd(0) ,同时去掉偏移calendaradd(CalendarSECOND, -1);
获取月的第一天和最后一天的日期
Calendar ca = CalendargetInstance();
casetTime(someDate); // someDate 为你要获取的那个月的时间
caset(CalendarDAY_OF_MONTH, 1);
Date firstDate = cagetTime();
caadd(CalendarMONTH, 1);
caadd(CalendarDAY_OF_MONTH, -1);
Date lastDate = cagetTime();
代码如下:
DateTime now = DateTimeNow;
DateTime d1 = new DateTime(nowYear, nowMonth, 1);
DateTime d2 = d1AddMonths(1)AddDays(-1);
d1是本月的第一天,d2本月的最后一天,
最后一天的算法是:得到本月的第一天然后增加一月,再减去一天,
当月第一天trunc(sysdate,'MM') 当月最后一天last_day(trunc(sysdate,'MM')) 当年第一天trunc(sysdate,'YYYY') 当年最后一天last_day(add_months(trunc(sysdate,'YYYY'),11))
以上就是关于C#如何获得当前月的第一天与最后一天全部的内容,包括:C#如何获得当前月的第一天与最后一天、Date之获取月的第一天和最后一天、java 获取当前月的第一天等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)