gpt4 book ai didi

ios - 比 days/7 更准确地计算自纪元以来的周数

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:20 25 4
gpt4 key购买 nike

我正在组织一个每周都有锦标赛的游戏,每周都有不同的游戏特别奖励。

为了完成这项工作,我需要知道现在是哪一周,以便我可以选择正确的奖金,并确保分数进入正确的锦标赛。

一个简单的答案是取自纪元以来的天数,偏移到星期一,然后计算天数并除以 7。显然,由于闰年,这失败了。

另一种选择是弄清楚你在一年中的哪一周,但是当你从一年过渡到下一年时,这会变得很奇怪。此外,锦标赛在周日结束时结束,因此它不遵循正常的周边界。

我正准备开始使用年份、年份和星期几来做一些相当复杂的事情来尝试找出答案,但我想我应该在这里问一下,以防我遗漏了一个简单的解决方案。

这将在 iOS 上的 Objective-C 中完成。

最佳答案

这应该有效:

// Choose any reference date which is a Monday:
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *refComp = [[NSDateComponents alloc] init];
refComp.year = 1970;
refComp.month = 1;
refComp.day = 5;
NSDate *refDate = [cal dateFromComponents:refComp];

// Compute number of weeks between your date and the reference date:
NSDateComponents *comp = [cal components:NSCalendarUnitWeekOfYear fromDate:refDate toDate:yourDate options:0];
NSInteger weeks = comp.weekOfYear;

但是计算天数(从某个星期一开始)并除以 7 应该给出相同的结果,因为无论闰年如何,每周都有 7 天。

关于ios - 比 days/7 更准确地计算自纪元以来的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21195926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com