sql 获取当前月的第一天

sql 获取当前月的第一天,第1张

DATEDIFF(mm,0,getdate())用来计算出“0”和当前日期所相差的月份数,比如说相差10个月。

DATEADD (mm,x,0)

在0日期的基础上,加上x个月。

那么就相当于把去掉了日期,只留下了月份,也就是当前月份了。没有日期,也就是第一天的0点了。

这个比较简单,4行代码就行

Calendar calendar = CalendargetInstance();

calendarset(CalendarDAY_OF_MONTH, 1);

SimpleDateFormat format = new SimpleDateFormat("E");

Systemoutprintln("本月第一天是:" + formatformat(calendargetTime()));

如果你要得到一个数字的话就是:

calendarget(CalendarDAY_OF_WEEK),当然,这个结果是以星期天为第一天算出来的,如果要换成星期一开始,减1就行了

希望能帮助你。

两个函数的套用,一个是date_add这个函数可以求出当前日期所在月份的第一天的日期,第二个函数是dayname,这个可以返回星期的名字,将dayname套在date_add的外面就可以了。

当然不想这么做也可以,将输入的日期转换为字符,然后将后面的日期部分替换成01,然后再用dayname也可以。

date_add求日期坐在月份的第一天

date_add('写入日期',interval -day('写入日期')+1 day),然后再套一层dayname函数就可以了。

DateTime dt = DateTimeNow; //当前时间

DateTime startWeek = dtAddDays(1 - ConvertToInt32(dtDayOfWeekToString("d"))); //本周周一

DateTime endWeek = startWeekAddDays(6); //本周周日

DateTime startMonth = dtAddDays(1 - dtDay); //本月月初

DateTime endMonth = startMonthAddMonths(1)AddDays(-1); //本月月末

//DateTime endMonth = startMonthAddDays((dtAddMonths(1) - dt)Days - 1); //本月月末

DateTime startQuarter = dtAddMonths(0 - (dtMonth - 1) % 3)AddDays(1 - dtDay); //本季度初

DateTime endQuarter = startQuarterAddMonths(3)AddDays(-1); //本季度末

DateTime startYear = new DateTime(dtYear, 1, 1); //本年年初

DateTime endYear = new DateTime(dtYear, 12, 31); //本年年末

至于昨天、明天、上周、上月、上季度、上年度等等,只要AddDays()、AddMonths()、AddYears()这几种方法组合一下就可以了。

C#中datetime的使用

//如果你还不明白,再看一下中文显示星期几的方法就应该懂了

//由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的

string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };

string week = Day[ConvertToInt32(DateTimeNowDayOfWeekToString("d"))]ToString();

//上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样

DateTimeNowAddDays(ConvertToInt32 (1 - ConvertToInt32(DateTimeNowDayOfWeek)) - 7); //上周一

DateTimeNowAddDays(ConvertToInt32 (1 - ConvertToInt32(DateTimeNowDayOfWeek)) - 7)AddDays(6); //上周末(星期日)

//下周

DateTimeNowAddDays(ConvertToInt32 (1 - ConvertToInt32(DateTimeNowDayOfWeek)) + 7); //下周一

DateTimeNowAddDays(ConvertToInt32(1 - ConvertToInt32(DateTimeNowDayOfWeek)) + 7)AddDays(6); //下周末

//本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的

//一般的写法

DateTimeNowYearToString() + DateTimeNowMonthToString() + "1"; //第一天

DateTimeParse(DateTimeNowYearToString() + DateTimeNowMonthToString() + "1")AddMonths(1)AddDays(-1)ToShortDateString();//最后一天

//巧用C#里ToString的字符格式化更简便

DateTimeNowToString("yyyy-MM-01");

DateTimeParse(DateTimeNowToString("yyyy-MM-01"))AddMonths(1)AddDays(-1)ToShortDateString();

//上个月,减去一个月份

DateTimeParse(DateTimeNowToString("yyyy-MM-01"))AddMonths(-1)ToShortDateString();

DateTimeParse(DateTimeNowToString("yyyy-MM-01"))AddDays(-1)ToShortDateString();

//下个月,加去一个月份

DateTimeParse(DateTimeNowToString("yyyy-MM-01"))AddMonths(1)ToShortDateString();

DateTimeParse(DateTimeNowToString("yyyy-MM-01"))AddMonths(2)AddDays(-1)ToShortDateString();

//7天后

DateTimeNowDateToShortDateString();

DateTimeNowAddDays(7)ToShortDateString();

//7天前

DateTimeNowAddDays(-7)ToShortDateString();

DateTimeNowDateToShortDateString();

//本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天

DateTimeParse(DateTimeNowToString("yyyy-01-01"))ToShortDateString();

DateTimeParse(DateTimeNowToString("yyyy-01-01"))AddYears(1)AddDays(-1)ToShortDateString();

//上年度,不用再解释了吧

DateTimeParse(DateTimeNowToString("yyyy-01-01"))AddYears(-1)ToShortDateString();

DateTimeParse(DateTimeNowToString("yyyy-01-01"))AddDays(-1)ToShortDateString();

//下年度

DateTimeParse(DateTimeNowToString("yyyy-01-01"))AddYears(1)ToShortDateString();

DateTimeParse(DateTimeNowToString("yyyy-01-01"))AddYears(2)AddDays(-1)ToShortDateString();

//本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月

//首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了

DateTimeNowAddMonths(0 - ((DateTimeNowMonth - 1) % 3))AddDays(1 - DateTimeNowDay);

//同理,本季度的最后一天就是下季度的第一天减一

DateTimeParse(DateTimeNowAddMonths(3 - ((DateTimeNowMonth - 1) % 3))ToString("yyyy-MM-01"))AddDays(-1)ToShortDateString();

//下季度,相信你们都知道了。。。。收工

DateTimeNowAddMonths(3 - ((DateTimeNowMonth - 1) % 3))ToString("yyyy-MM-01");

DateTimeParse(DateTimeNowAddMonths(6 - ((DateTimeNowMonth - 1) % 3))ToString("yyyy-MM-01"))AddDays(-1)ToShortDateString();

//上季度

DateTimeNowAddMonths(-3 - ((DateTimeNowMonth - 1) % 3)) AddDays(1 - DateTimeNow);

DateTimeNowAddMonths(0 - ((DateTimeNowMonth - 1) % 3))AddDays(1 - DateTimeNowDay)AddDays(-1)ToShortDateString();

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

import javautilLocale;

public class Test {

public static void main(String[] args) {

Calendar calendar = CalendargetInstance(LocaleCHINA);

calendarsetTime(new Date());// 设置当前日期

int day = calendargetMinimum(CalendarDAY_OF_MONTH);// 取得当前月的最小日期(天)

calendarset(CalendarDAY_OF_MONTH, day);// 设置天

String sDate = new SimpleDateFormat("yyyy-MM-dd")format(calendargetTime());// 格式化成字符串

Systemoutprintln(sDate);// 打印

}

}

先确定下是不是闰年,只有闰年的时候二月月份需要判断下,其他月份都是固定的,

一月31天\三月31天\四月30天\五月31天\六月30天\七月31天\八月31天\九月30天\十月31天\十一月30天\十二月31天\二月闰年是29天,其他是28天。

闰年每四年一回,就是年除以4,能除尽的是闰年。

以上就是关于sql 获取当前月的第一天全部的内容,包括:sql 获取当前月的第一天、急:用java如何得到当前月的第一天是星期几、MySQL中如何获得指定日期中月份的第一天是周几等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存