SQL 如何得到本月第一个星期天的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 如何得到本月第一个星期天的日期相关的知识,希望对你有一定的参考价值。

SQL 如何得到本月第一个星期天的日期 怎么取得getdate()所在月的第一个昨天的日期? 急急急!!!

参考技术A --第一个星期天
declare @a datetime
set @a='2022-5-25'

SELECT case when dateadd(dd,-day(@a)+1,@a)<DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,-day(@a)+1,@a)), 0)
then DATEADD(DD,-1,DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,-day(@a)+1,@a)),0))
else DATEADD(DD,6,DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,-day(@a)+1,@a)),0)) end
如果是第二个星期天,就把6改成:6+7=13,以此类推。
参考技术B SELECT NEXT_DAY(sysdate, 'SUN') FROM DUAL;

如何在目标c中获得该月的第n个星期日日期?

如何在Objective C编码中获得第一个星期日或第n个星期日或星期一(任何一天)日期。

例如: - 我只想每年在我的应用程序中显示友谊日的日期。

但是,友谊来自8月的第一个星期日。因此,日期将每年都在变化。在这里,我需要找到每年8月的第一个星期日的日期。

是否有任何逻辑可以找到第n个星期天的日期。

答案

您需要创建一个NSDateComponents对象并设置适当的值,在您的示例中,您将执行以下操作:

NSDateComponents *dateComponents = [[NSDateComponents alloc] init];

dateComponents.year = 2011; // set the current year or whatever year you want here
dateComponents.month = 8;
dateComponents.weekday = 1; // sunday is 1, monday is 2, ...
dateComponents.weekdayOrdinal = 1; // this means, the first of whatever weekday you specified

要将其转换为NSDate对象,您只需执行以下操作:

//you may want to use another calendar object here
NSDate *myDate = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
[dateComponents release]; //don't forget memory management ;)
另一答案

你想将NSDateComponentsNSCalendardateFromComponents:方法结合使用:

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *c = [[NSDateComponents alloc] init];
[c setYear:2012];
[c setWeekday:1]; // Sunday
[c setWeekdayOrdinal:3]; // The 3rd Sunday

for (int i = 1; i <= 12; i++) {
    [c setMonth:i];
    NSDate *date = [gregorian dateFromComponents:c];
    NSLog(@"Date[%i]: %@",i,date);
}

[c release];
[gregorian release];
另一答案

这是一个例子。您可以在Date and Time Programming Guide找到更多信息。

要找到八月的第一个星期天:

NSDateComponents *components = [[NSDateComponents alloc] init];
[components setWeekday:1]; // Sunday
[components setWeekdayOrdinal:1]; // The first Sunday in the month
[components setMonth:8]; // August
[components setYear:2011];
NSCalendar *gregorian = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:components];
另一答案

你检查一个月的第一天。

unsigned units = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorian components:units fromDate:date];

使用[组件日]获取一天;星期日<-1。这之后很简单。

另一答案

你想要查看NSCalendarhere.

特别感兴趣的是- (NSUInteger)ordinalityOfUnit:(NSCalendarUnit)smaller inUnit:(NSCalendarUnit)larger forDate:(NSDate *)date方法

以上是关于SQL 如何得到本月第一个星期天的日期的主要内容,如果未能解决你的问题,请参考以下文章

asp.net后台获得本月第一天和最后一天

如何获取当月第一周的日期

MySQL中如何获得指定日期中月份的第一天是周几?

获取日历月的第一个星期一

如何在java中得到本月的开始和结束时间(天)

在 SQL redshift 中返回特定周的第一个日期(星期日)