当前位置: > 手游资讯 > 新手问答 > 周几(获取当前是周几)

周几(获取当前是周几)

作者:哪吒游戏网 来源:哪吒游戏网 2020-06-12 10:08:34

周几(获取当前是周几),哪吒游戏网给大家带来详细的周几(获取当前是周几)介绍,大家可以阅读一下,希望这篇周几(获取当前是周几)可以给你带来参考价值。

这个问题比较蛋疼,老外是周日第一天,周一第二天,

而我们是周一第一天,周日地7天周几,虽然可以得到当前是周几-1然后再判断一下就行,但是还是有点不甘心~

上网查了查,查到了代码

NSDate *dateForMonth = [NSDate date];
    
    NSCalendar *gregorianT = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    [gregorianT setFirstWeekday:2];
    
    NSUInteger weekDay = [gregorianT ordinalityOfUnit:NSWeekdayCalendarUnit inUnit:NSWeekCalendarUnit forDate:dateForMonth];
    NSLog(@"~~~~%d",weekDay);

刚开始用NSDate + NSCalendar +NSDateComponents 来算,可不管怎么算都是老外的结果(周日是1)

不知道为啥NSCalendar的setFirstWeekday:2]不生效,可能就是不能这样用

然后查到了上面的代码,

[gregorianT ordinalityOfUnit:NSWeekdayCalendarUnit inUnit:NSWeekCalendarUnit forDate:dateForMonth];

用这个实现了,我们的计算方法(周一是第一天)

官方文档这么解释的这个方法:Returns, for a given absolute time,the ordinal number of a smaller calendar unit (such as a day) within a specified larger calendar unit (such as a week).

就是给一个日期+一个小周期(一天weekday)+一个大周期(一个Week)周几,然后返回值就是当前日期的小周期相对于大周期的数值

例如:::::::当前是周二,函数计算的时候就是计算周二在一个全周(7天)里是第几个(很明显是第二个,所以返回2)

但是这里需要设置calendar setFirstWeekDay:2](让周一是第一天)这个函数在这才生效~~~~~~

总结:以上内容就是针对周几(获取当前是周几)详细阐释,如果您觉得有更好的建议可以提供给哪吒游戏网小编,周几(获取当前是周几)部分内容转载自互联网,有帮助可以收藏一下。



上一篇: 密室逃脱8(密室逃脱8电脑版玩法攻略介绍)

下一篇:

本文标签:
猜你喜欢