c# datetime 怎么样获取 某月的最后一天的日期

c# datetime 怎么样获取 某月的最后一天的日期,第1张

以今天为例

DateTimeTodayDateAddMonths(1)AddDays(-1 (DateTimeTodayDay)

授人以渔。。。剩下调整格式那点事自己去弄吧

shell 获取上月最后一天,参考代码如下:

#!/bin/sh

function get_last_day(){

year=`expr substr $1 1 4`

month=`expr substr $1 5 2`

if [ $month = '01' ] || [ $month = '03' ] || [ $month = '05' ] || [ $month = '07' ] || [ $month = '08' ] || [ $month = '10' ] || [ $month = '12' ] ;then

echo $year''$month''31

elif [ $month = '02' ] ; then

if [ `expr $year % 400` = 0 ] ; then

echo $year''$month''29

elif [ `expr $year % 4` = 0 ] && [ `expr $year % 100` != 0 ] ; then

echo $year''$month''29

else

echo $year''$month''28

fi

else

echo $year''$month''30

fi

}

注意几点:

1) if语句的[]里的写法是所有单词和符号之间都留空格,if[a=1]是错的,应该是if [ a = 1 ]

2) shell中if里面如果要多条件判断,if [ a = 1 || a = 2]这样写是错的,应该是if [ a = 1 ] || [ a = 2 ]

3) echo $year''$month''29 这里''不能省略,不然只会输出年字段。

代码如上,原理是,设定指定月份的下个月第一天,减去1毫秒,就是上个月最后一天。

测试输出结果,以下结果分别是29、28:

js如何获得今年最后一天的日期:

<script type="text/javascript">

function getYearLastDay(){

return new Date()getFullYear()+"年12月31号";

}

alert(getYearLastDay());

</script>

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

//获取前月的第一天

Calendar cal_1=CalendargetInstance();//获取当前日期

cal_1add(CalendarMONTH, -1);

cal_1set(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天

firstDay = formatformat(cal_1getTime());

Systemoutprintln("-----1------firstDay:"+firstDay);

//获取前月的最后一天

Calendar cale = CalendargetInstance();

caleset(CalendarDAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天

lastDay = formatformat(calegetTime());

Systemoutprintln("-----2------lastDay:"+lastDay);

//获取当前月第一天:

Calendar c = CalendargetInstance();

cadd(CalendarMONTH, 0);

cset(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天

String first = formatformat(cgetTime());

Systemoutprintln("===============first:"+first);

//获取当前月最后一天

Calendar ca = CalendargetInstance();

caset(CalendarDAY_OF_MONTH, cagetActualMaximum(CalendarDAY_OF_MONTH));

String last = formatformat(cagetTime());

Systemoutprintln("===============last:"+last);

说明一下,日期类中的月份是0-11比这际月份少1

这样你调置 2010 2 这其实是 2010 年 3月份。这个月分的0天是那一天呢,就是 3月1号减一天

即上个月的最后一天。

import javautilCalendar;

public class Test {

public static void main(String[] args) {

Systemoutprintln(daysCount(2010, 2));

}

public static int daysCount(int year, int month) {

Calendar cal = CalendargetInstance();

calset(CalendarYEAR, year);

calset(CalendarMONTH, month);

calset(CalendarDATE, 0);

return calget(CalendarDATE);

}

}

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

以上就是关于c# datetime 怎么样获取 某月的最后一天的日期全部的内容,包括:c# datetime 怎么样获取 某月的最后一天的日期、shell 如何获取上月最后一天、js代码实现,如何获取当前月份的最后一天等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9279449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存