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

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

以今天为例

DateTimeTodayDateAddMonths(1)AddDays(-1 (DateTimeTodayDay)

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

你好,以下是获取年,季度,天日期的所有方式:DECLARE

@dt

datetime

SET

@dt=GETDATE()

DECLARE

@number

int

SET

@number=3

--1.指定日期该年的第一天或最后一天

--A

年的第一天

SELECT

CONVERT(char(5),@dt,120)+'1-1'

--B

年的最后一天

SELECT

CONVERT(char(5),@dt,120)+'12-31'

--2.指定日期所在季度的第一天或最后一天

--A

季度的第一天

SELECT

CONVERT(datetime,

CONVERT(char(8),

DATEADD(Month,

DATEPART(Quarter,@dt)3-Month(@dt)-2,

@dt),

120)+'1')

--B

季度的最后一天(CASE判断法)

SELECT

CONVERT(datetime,

CONVERT(char(8),

DATEADD(Month,

DATEPART(Quarter,@dt)3-Month(@dt),

@dt),

120)

+CASE

WHEN

DATEPART(Quarter,@dt)

in(1,4)

THEN

'31'ELSE

'30'

END)

--C

季度的最后一天(直接推算法)

SELECT

DATEADD(Day,-1,

CONVERT(char(8),

DATEADD(Month,

1+DATEPART(Quarter,@dt)3-Month(@dt),

@dt),

120)+'1')

--3.指定日期所在月份的第一天或最后一天

--A

月的第一天

SELECT

CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')

--B

月的最后一天

SELECT

DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')

--C

月的最后一天(容易使用的错误方法)

SELECT

DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))

--4.指定日期所在周的任意一天

SELECT

DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)

--5.指定日期所在周的任意星期几

--A

星期天做为一周的第1天

SELECT

DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)

--B

星期一做为一周的第1天

SELECT

DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)

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

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

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

<script type="text/javascript">

function getYearLastDay(){

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

}

alert(getYearLastDay());

</script>

转自: >

import javatextSimpleDateFormat;

import javautilCalendar;

public class Test {

/

获取某月的最后一天

@Title:getLastDayOfMonth

@Description:

@param:@param year

@param:@param month

@param:@return

@return:String

@throws

/

public static String getLastDayOfMonth(int year,int month) {

Calendar cal = CalendargetInstance();

//设置年份

calset(CalendarYEAR,year);

//设置月份

calset(CalendarMONTH, month-1);

//获取某月最大天数

int lastDay = calgetActualMaximum(CalendarDAY_OF_MONTH);

//设置日历中月份的最大天数

calset(CalendarDAY_OF_MONTH, lastDay);

//格式化日期

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

String lastDayOfMonth = sdfformat(calgetTime());

return lastDayOfMonth;

}

/

获取这个月的最后一天

@Title:getLastDayOfCurrentMonth

@Description:

@param:@param year

@param:@param month

@param:@return

@return:String

@throws

/

public static String getLastDayOfCurrentMonth() {

Calendar cal = CalendargetInstance();

//获取某月最大天数

int lastDay = calgetActualMinimum(CalendarDAY_OF_MONTH);

//设置日历中月份的最大天数

calset(CalendarDAY_OF_MONTH, lastDay);

//格式化日期

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

String lastDayOfMonth = sdfformat(calgetTime());

return lastDayOfMonth;

}

/

获取某月的第一天

@Title:getLastDayOfMonth

@Description:

@param:@param year

@param:@param month

@param:@return

@return:String

@throws

/

public static String getFirstDayOfMonth(int year,int month) {

Calendar cal = CalendargetInstance();

//设置年份

calset(CalendarYEAR,year);

//设置月份

calset(CalendarMONTH, month-1);

//获取某月最大天数

int lastDay = calgetActualMinimum(CalendarDAY_OF_MONTH);

//设置日历中月份的最大天数

calset(CalendarDAY_OF_MONTH, lastDay);

//格式化日期

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

String lastDayOfMonth = sdfformat(calgetTime());

return lastDayOfMonth;

}

/

获取这个月的第一天

@Title:getFirstDayOfCurrentMonth

@Description:

@param:@param year

@param:@param month

@param:@return

@return:String

@throws

/

public static String getFirstDayOfCurrentMonth() {

Calendar cal = CalendargetInstance();

//获取某月最大天数

int lastDay = calgetActualMaximum(CalendarDAY_OF_MONTH);

//设置日历中月份的最大天数

calset(CalendarDAY_OF_MONTH, lastDay);

//格式化日期

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

String lastDayOfMonth = sdfformat(calgetTime());

return lastDayOfMonth;

}

/

@Title:main

@Description:

@param:@param args

@return: void

@throws

/

public static void main(String[] args) 

{

String lastDay = getLastDayOfMonth(2014,2);

Systemoutprintln("获取2014年2月的最后一天:" + lastDay);

String currentLDay= getLastDayOfCurrentMonth();

Systemoutprintln("获取本月的最后一天:" + currentLDay);

String firstDay = getFirstDayOfMonth(2014,2);

Systemoutprintln("获取2014年2月的第一天:" + firstDay);

String currentFDay= getFirstDayOfCurrentMonth();

Systemoutprintln("获取本月的第一天:" + currentFDay);

}

}

传上来的代码真难看,不知道怎么发文件,我给你截一张图

getLeastMaximum

public abstract int getLeastMaximum(int field)

返回此 Calendar 实例给定日历字段的最低的最大值。最低的最大值被定义为 getActualMaximum(int)

方法为任何可能时间值返回的最小值。最低的最大值取决于日历系统实例的特定参数。例如,对于格里高利历系统,Calendar 将为

DAY_OF_MONTH 字段返回 28,因为第 28 天是该日历最短那个月的最后一天,即普通年的二月。

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

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存